| Index: base/process/process_metrics_linux.cc
 | 
| diff --git a/base/process/process_metrics_linux.cc b/base/process/process_metrics_linux.cc
 | 
| index b14aa210bd57af5bd53c6581590fa221f355d9bb..114deda49e390bc73b13e68a5aa6abdbb09f6ccb 100644
 | 
| --- a/base/process/process_metrics_linux.cc
 | 
| +++ b/base/process/process_metrics_linux.cc
 | 
| @@ -532,45 +532,12 @@ const size_t kDiskWeightedIOTime = 13;
 | 
|  
 | 
|  }  // namespace
 | 
|  
 | 
| -SystemMemoryInfoKB::SystemMemoryInfoKB() {
 | 
| -  total = 0;
 | 
| -  free = 0;
 | 
| -#if defined(OS_LINUX)
 | 
| -  available = 0;
 | 
| -#endif
 | 
| -  buffers = 0;
 | 
| -  cached = 0;
 | 
| -  active_anon = 0;
 | 
| -  inactive_anon = 0;
 | 
| -  active_file = 0;
 | 
| -  inactive_file = 0;
 | 
| -  swap_total = 0;
 | 
| -  swap_free = 0;
 | 
| -  dirty = 0;
 | 
| -
 | 
| -  pswpin = 0;
 | 
| -  pswpout = 0;
 | 
| -  pgmajfault = 0;
 | 
| -
 | 
| -#ifdef OS_CHROMEOS
 | 
| -  shmem = 0;
 | 
| -  slab = 0;
 | 
| -  gem_objects = -1;
 | 
| -  gem_size = -1;
 | 
| -#endif
 | 
| -}
 | 
| -
 | 
| -SystemMemoryInfoKB::SystemMemoryInfoKB(const SystemMemoryInfoKB& other) =
 | 
| -    default;
 | 
| -
 | 
|  std::unique_ptr<Value> SystemMemoryInfoKB::ToValue() const {
 | 
|    std::unique_ptr<DictionaryValue> res(new DictionaryValue());
 | 
|  
 | 
|    res->SetInteger("total", total);
 | 
|    res->SetInteger("free", free);
 | 
| -#if defined(OS_LINUX)
 | 
|    res->SetInteger("available", available);
 | 
| -#endif
 | 
|    res->SetInteger("buffers", buffers);
 | 
|    res->SetInteger("cached", cached);
 | 
|    res->SetInteger("active_anon", active_anon);
 | 
| @@ -581,6 +548,7 @@ std::unique_ptr<Value> SystemMemoryInfoKB::ToValue() const {
 | 
|    res->SetInteger("swap_free", swap_free);
 | 
|    res->SetInteger("swap_used", swap_total - swap_free);
 | 
|    res->SetInteger("dirty", dirty);
 | 
| +  res->SetInteger("reclaimable", reclaimable);
 | 
|    res->SetInteger("pswpin", pswpin);
 | 
|    res->SetInteger("pswpout", pswpout);
 | 
|    res->SetInteger("pgmajfault", pgmajfault);
 | 
| @@ -628,10 +596,8 @@ bool ParseProcMeminfo(const std::string& meminfo_data,
 | 
|        target = &meminfo->total;
 | 
|      else if (tokens[0] == "MemFree:")
 | 
|        target = &meminfo->free;
 | 
| -#if defined(OS_LINUX)
 | 
|      else if (tokens[0] == "MemAvailable:")
 | 
|        target = &meminfo->available;
 | 
| -#endif
 | 
|      else if (tokens[0] == "Buffers:")
 | 
|        target = &meminfo->buffers;
 | 
|      else if (tokens[0] == "Cached:")
 | 
| @@ -650,6 +616,8 @@ bool ParseProcMeminfo(const std::string& meminfo_data,
 | 
|        target = &meminfo->swap_free;
 | 
|      else if (tokens[0] == "Dirty:")
 | 
|        target = &meminfo->dirty;
 | 
| +    else if (tokens[0] == "SReclaimable:")
 | 
| +      target = &meminfo->reclaimable;
 | 
|  #if defined(OS_CHROMEOS)
 | 
|      // Chrome OS has a tweaked kernel that allows us to query Shmem, which is
 | 
|      // usually video memory otherwise invisible to the OS.
 | 
| 
 |