libmeminfo: add KReclaimable to the fields read from meminfo
am: 54d365448f

Change-Id: If3716a93b24b8d60b97e9479e9a7c1a54481a560
diff --git a/include/meminfo/sysmeminfo.h b/include/meminfo/sysmeminfo.h
index 8388920..f533d8c 100644
--- a/include/meminfo/sysmeminfo.h
+++ b/include/meminfo/sysmeminfo.h
@@ -43,6 +43,7 @@
     static constexpr const char* kMemVmallocUsed = "VmallocUsed:";
     static constexpr const char* kMemPageTables = "PageTables:";
     static constexpr const char* kMemKernelStack = "KernelStack:";
+    static constexpr const char* kMemKReclaimable = "KReclaimable:";
 
     static const std::vector<std::string> kDefaultSysMemInfoTags;
 
@@ -75,6 +76,7 @@
     uint64_t mem_vmalloc_used_kb() { return mem_in_kb_[kMemVmallocUsed]; }
     uint64_t mem_page_tables_kb() { return mem_in_kb_[kMemPageTables]; }
     uint64_t mem_kernel_stack_kb() { return mem_in_kb_[kMemKernelStack]; }
+    uint64_t mem_kreclaimable_kb() { return mem_in_kb_[kMemKReclaimable]; }
     uint64_t mem_zram_kb(const std::string& zram_dev = "");
 
   private:
diff --git a/libmeminfo_test.cpp b/libmeminfo_test.cpp
index 378a4cd..c69e82b 100644
--- a/libmeminfo_test.cpp
+++ b/libmeminfo_test.cpp
@@ -555,6 +555,7 @@
 AnonPages:         74988 kB
 Mapped:            62624 kB
 Shmem:              4020 kB
+KReclaimable:      87324 kB
 Slab:              86464 kB
 SReclaimable:      44432 kB
 SUnreclaim:        42032 kB
@@ -599,6 +600,7 @@
     EXPECT_EQ(mi.mem_vmalloc_used_kb(), 65536);
     EXPECT_EQ(mi.mem_page_tables_kb(), 2900);
     EXPECT_EQ(mi.mem_kernel_stack_kb(), 4880);
+    EXPECT_EQ(mi.mem_kreclaimable_kb(), 87324);
 }
 
 TEST(SysMemInfo, TestEmptyFile) {
@@ -639,6 +641,7 @@
     MEMINFO_VMALLOC_USED,
     MEMINFO_PAGE_TABLES,
     MEMINFO_KERNEL_STACK,
+    MEMINFO_KRECLAIMABLE,
     MEMINFO_COUNT
 };
 
@@ -664,6 +667,7 @@
 AnonPages:         74988 kB
 Mapped:            62624 kB
 Shmem:              4020 kB
+KReclaimable:      87324 kB
 Slab:              86464 kB
 SReclaimable:      44432 kB
 SUnreclaim:        42032 kB
@@ -715,6 +719,7 @@
     EXPECT_EQ(mem[MEMINFO_VMALLOC_USED], 65536);
     EXPECT_EQ(mem[MEMINFO_PAGE_TABLES], 2900);
     EXPECT_EQ(mem[MEMINFO_KERNEL_STACK], 4880);
+    EXPECT_EQ(mem[MEMINFO_KRECLAIMABLE], 87324);
 }
 
 TEST(SysMemInfo, TestVmallocInfoNoMemory) {
diff --git a/sysmeminfo.cpp b/sysmeminfo.cpp
index 5cfa6c3..1e1baf0 100644
--- a/sysmeminfo.cpp
+++ b/sysmeminfo.cpp
@@ -50,7 +50,7 @@
         SysMemInfo::kMemCached,     SysMemInfo::kMemShmem,       SysMemInfo::kMemSlab,
         SysMemInfo::kMemSReclaim,   SysMemInfo::kMemSUnreclaim,  SysMemInfo::kMemSwapTotal,
         SysMemInfo::kMemSwapFree,   SysMemInfo::kMemMapped,      SysMemInfo::kMemVmallocUsed,
-        SysMemInfo::kMemPageTables, SysMemInfo::kMemKernelStack,
+        SysMemInfo::kMemPageTables, SysMemInfo::kMemKernelStack, SysMemInfo::kMemKReclaimable,
 };
 
 bool SysMemInfo::ReadMemInfo(const std::string& path) {