OSDN Git Service

Merge changes I26e290c0,I1b006d2a am: d603e616b9
authorColin Cross <ccross@android.com>
Tue, 24 May 2016 22:48:35 +0000 (22:48 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Tue, 24 May 2016 22:48:35 +0000 (22:48 +0000)
am: a2632be956

* commit 'a2632be956cf05558cc7825830ffd5f9f093206d':
  Add oom score tracking to procrank
  C++-ify procrank

Change-Id: Ic2baa7e0144480a2400299e2b981c158e4709caa

1  2 
procrank/procrank.cpp

@@@ -291,25 -265,27 +292,22 @@@ int main(int argc, char *argv[]) 
  
      if (ws == WS_RESET) exit(0);
  
-     j = 0;
-     for (i = 0; i < num_procs; i++) {
-         if (procs[i]->usage.vss) {
-             procs[j++] = procs[i];
-         } else {
-             free(procs[i]);
-         }
-     }
-     num_procs = j;
+     procs.erase(std::remove_if(procs.begin(),
+                                procs.end(),
+                                [](auto proc){
+                                    return proc.usage.vss == 0;
+                                }),
+                 procs.end());
  
-     qsort(procs, num_procs, sizeof(procs[0]), compfn);
+     qsort(procs.data(), procs.size(), sizeof(procs[0]), compfn);
  
      if (has_swap) {
 -        fd = open("/sys/block/zram0/mem_used_total", O_RDONLY);
 -        if (fd >= 0) {
 -            len = read(fd, buffer, sizeof(buffer)-1);
 -            close(fd);
 -            if (len > 0) {
 -                buffer[len] = 0;
 -                mem[MEMINFO_ZRAM_TOTAL] = atoll(buffer)/1024;
 -                zram_cr = (float) mem[MEMINFO_ZRAM_TOTAL] /
 -                        (mem[MEMINFO_SWAP_TOTAL] - mem[MEMINFO_SWAP_FREE]);
 -                has_zram = true;
 -            }
 +        uint64_t zram_mem_used = get_zram_mem_used();
 +        if (zram_mem_used) {
 +            mem[MEMINFO_ZRAM_TOTAL] = zram_mem_used/1024;
 +            zram_cr = (float) mem[MEMINFO_ZRAM_TOTAL] /
 +                    (mem[MEMINFO_SWAP_TOTAL] - mem[MEMINFO_SWAP_FREE]);
 +            has_zram = true;
          }
      }