1. 22 Apr, 2015 1 commit
  2. 03 Sep, 2014 1 commit
  3. 29 Aug, 2014 1 commit
  4. 17 Jun, 2014 2 commits
    • Colin Cross's avatar
      libpagemap: support 64-bit kernel from 32-bit libpagemap · e2998ffe
      Colin Cross authored
      Use uint64_t and lseek64 to handle 64-bit virtual addresses
      when libpagemap is compiled as a 32-bit library.
      
      Change-Id: Ie4b6c7ef05aac604011f3ee28b059d9dfcd63edb
      e2998ffe
    • Colin Cross's avatar
      fix libpagemap for x86_64 · d6c0e17d
      Colin Cross authored
      libpagemap was storing a virtual pfn in an int, which works on arm64
      with 39 bits of virtual address space but fails on x86_64.  Use an
      unsigned long instead.
      
      Fixes errors when running procrank on x86_64:
      warning: could not read usage for 1
      
      Change-Id: I171c8ee49faa51accf3c1bb69059d549aee04979
      d6c0e17d
  5. 15 May, 2014 1 commit
    • Colin Cross's avatar
      libpagemap: handle zero length memory regions · bac60030
      Colin Cross authored
      /proc/pid/maps may report a zero-length memory region for a 4kB
      PROT_GROWSDOWN region because it subtracts 4kB for the guard page.
      Return 0 instead of -1 when this occurs, and set range_out to NULL
      and len to 0.  All existing callers of pm_process_pagemap_range
      will not dereference range_out if len is 0.
      
      Bug: 14683277
      Change-Id: If405651ad034dda780b93fab2dc616e177a0b917
      bac60030
  6. 28 Aug, 2013 1 commit
  7. 24 Jun, 2013 2 commits
    • Colin Cross's avatar
      libpagemap: add pm_process_usage_flags · 931563e9
      Colin Cross authored
      Add pm_process_usage flags to get memory usage by a process, only
      counting pages with specified flags set.
      
      Change-Id: I900b673ddbb5ae92312773a8670dd59769617268
      931563e9
    • Colin Cross's avatar
      libpagemap: fix reusing previous name for mappings with no name · 5d461218
      Colin Cross authored
      Mappings that are not from a file do not have a name.  The sscanf
      will read all of the fields up to the name, and then leave name
      untouched.  This causes the previous name to be reused.  Reset
      name to an empty string before each call to sscanf.
      
      Change-Id: Ib146732983eb074d0d4773be094efa0b672f5ed2
      5d461218
  8. 22 Jun, 2013 1 commit
    • Colin Cross's avatar
      libpagemap: add pm_process_usage_flags · f1b1ad24
      Colin Cross authored
      Add pm_process_usage flags to get memory usage by a process, only
      counting pages with specified flags set.
      
      Change-Id: I900b673ddbb5ae92312773a8670dd59769617268
      f1b1ad24
  9. 16 May, 2013 1 commit
    • Colin Cross's avatar
      libpagemap: fix reusing previous name for mappings with no name · 9e962bdf
      Colin Cross authored
      Mappings that are not from a file do not have a name.  The sscanf
      will read all of the fields up to the name, and then leave name
      untouched.  This causes the previous name to be reused.  Reset
      name to an empty string before each call to sscanf.
      
      Change-Id: Ib146732983eb074d0d4773be094efa0b672f5ed2
      9e962bdf
  10. 21 Jan, 2012 1 commit
    • Selim Gurun's avatar
      Fix various issues in procrank. · 76e6cb55
      Selim Gurun authored
      Fixed these problems:
      1. Page swapped bit was not extracted correctly.
      2. Pages were ignored when page present bit is not set.
      3. Bit operations were not correct.
      4. There was a compiler warning about unsigned/signed comparision.
      5. Line limit was too short for the map file. This was causing procrank
         to generate a warning and remove the related process from results.
      
      Change-Id: Ifed3913a49b15f59010cfa842090a13228074df9
      76e6cb55
  11. 13 Jul, 2011 2 commits
    • Colin Cross's avatar
      Handle EOF when reading /proc/<pid>/pagemap · 6620157c
      Colin Cross authored
      Instead of handling maps with the name "[vectors]" specially,
      silently ignore EOF when reading from /proc/<pid>/pagemap, which
      occurs any time a a mapping is outside of the userspace range.
      
      Change-Id: I674ade1eab6fd7732c6d9e120d0750cca5415b25
      6620157c
    • Colin Cross's avatar
      Ignore the vector page in /proc/<pid>/maps · 5923f33e
      Colin Cross authored
      In kernel 2.6.37, the vector page was added to /proc/<pid>/maps,
      but because it is located above TASK_SIZE (usually 0xbf000000),
      it is considered to be in the kernel's address space, not the
      process', so it doesn't show up in /proc/<pid>/pagemap.
      
      When the vector page is detected, using the name "[vectors]",
      remove it from the map.
      
      Change-Id: I5f0758bbe5d2b927056fa9fee684fea63dd0fa4b
      5923f33e
  12. 04 Mar, 2009 2 commits
  13. 29 Jan, 2009 1 commit
  14. 21 Oct, 2008 1 commit