summaryrefslogtreecommitdiff
path: root/libpagemap
AgeCommit message (Collapse)Author
2016-09-15libpagemap: add static library for pagemapDimitry Ivanov
Bionic unit/cts tests need use static version of libpagemap to avoid depending on internal android library. Test: mm && run pagemap_static_test Bug: http://b/22182538 Change-Id: Ic8b4e74565f77a71540e8cb2c7f9dc67f8d5e10c
2016-08-23Don't invent our own pagemap constants.Elliott Hughes
Use the uapi ones instead, so I don't have to think about whether ours are correct. Bug: http://b/31044648 Change-Id: Ibe4a078ad3223419301a5f585e8ed24dd7366ce2
2016-08-11procrank: fix bounds check to prevent heap overflowNick Desaulniers
Bug: 30774296 Change-Id: I44005caaa3cc17fe829f375a4cfeb5a464c97fbe (cherry picked from commit 98a20cd1283b6ee029e871c0876815300475c40a)
2016-07-12Convert libpagemap Android.mk to Android.bpColin Cross
Change-Id: I551a7f7ce46267bb609e5ed8bd8dafc00b9fbab7
2016-05-18Fix misc-macro-parentheses warnings in libpagemap.Chih-Hung Hsieh
Bug: 28705665 Change-Id: I3a40229aeba12b3fb643770c92039a2af1e4a441
2016-03-01Merge "Fix pagemap_test#maps."Elliott Hughes
am: 5dc5241d77 * commit '5dc5241d7785569a6a4b65df475ac9451cdfe531': Fix pagemap_test#maps.
2016-03-01Fix pagemap_test#maps.Elliott Hughes
We don't necessarily have a brk-based heap. Bug: http://b/27425642 Change-Id: Iac30904ba35c645afe9b056de8df975ebce92a37
2016-02-17Merge commit '4258431621ef3cd32d3cec9604fa17324299cc42' into HEADBill Yi
2016-02-02Fix warnings in system/extras.Dan Albert
Bug: http://b/26936282 Change-Id: I1b9c6c9bb06944c32abcb871279d056eea0fb11a
2015-12-02procrank: add proportional swap accounting am: 08ea6e722bThierry Strudel
am: 6ca5d69923 * commit '6ca5d6992307ac6d063e4a7a1f0457afb88e033c': procrank: add proportional swap accounting
2015-11-30procrank: add proportional swap accountingThierry Strudel
Shared pages are reported in each of the sharing process swapped pages. Compute a proportional swap usage to get a meaningful value of what each process has in swap. Report also process unique pages swapped out. In case ZRAM is used compute the compression ration and report the actual RAM use of the swapped pages. Bug: 25392275 Change-Id: I3a28c7812a09a02e1a604593615f5c6ad0340f9f
2015-11-20Swap column in procrank not reported with swap enabledYu Liu
Bug: 25392275 Change-Id: I6d2a0b03abba555b3667f6ccf12896caeecf27aa
2015-09-22Use %n to parse maps in libpagemap.Elliott Hughes
Bug: http://b/24212024 Change-Id: If00782c7af6fde30650045180512132ee5a8fd89
2015-06-18Swap column in procrank not reported with swap enabledYu Liu
2015-04-22Do free and fclose when error occur.daegeun.song
Do free and fclose when error occur. Change-Id: Ifc611579cf919eeb3fbbf1dff70e7f851a26e083 Signed-off-by: Daegeun Song <daegeun.song@lge.com>
2014-09-03Revert "libpagemap: Mask off page shift to get page frame number"Daniel Rosenberg
This reverts commit 4bf06a51869f49d7ee3fb0163a2517ec5e33ba1f. Bug: 17360804 Bug: 17332389 Change-Id: I7e4d55215f391f5b3f71388943e9d95e5eff6f81
2014-08-29libpagemap: Mask off page shift to get page frame numberDaniel Rosenberg
see comment above pagemap_read() from the kernel Bug: 17332389 Change-Id: Iaec9a2c8d2783f5c1e7ba06d9c7156305abe0453 Signed-off-by: Daniel Rosenberg <drosen@google.com>
2014-06-17libpagemap: support 64-bit kernel from 32-bit libpagemapColin Cross
Use uint64_t and lseek64 to handle 64-bit virtual addresses when libpagemap is compiled as a 32-bit library. Change-Id: Ie4b6c7ef05aac604011f3ee28b059d9dfcd63edb
2014-06-16fix libpagemap for x86_64Colin Cross
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
2014-05-15Merge "libpagemap: handle zero length memory regions"Colin Cross
2014-05-14libpagemap: handle zero length memory regionsColin Cross
/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
2014-05-06Add {BEGIN,END}_DECLS to header file.Torne (Richard Coles)
Enable this header to be cleanly included in C++ code. Change-Id: Ie4ae60629661237ce07b49b17802f01bf95552d8
2013-08-28libpagemap: fix memory leak in pm_process_destroy()Carton He
procrank/librank not impacted because they end quickly. But other programs that use libpagemap and last for long time can easily see this memory leak. Change-Id: I8c9e9444555bef9145c9d89850987a29f15a9b3b Signed-off-by: Carton He <carton.he@marvell.com>
2013-06-24libpagemap: add pm_process_usage_flagsColin Cross
Add pm_process_usage flags to get memory usage by a process, only counting pages with specified flags set. Change-Id: I900b673ddbb5ae92312773a8670dd59769617268
2013-06-24libpagemap: fix new kernel flag names to start with PM_PAGE_Colin Cross
Change-Id: I6b030d9d0356d63b3ddb853de304407bc70b38c4
2013-06-24libpagemap: count swapped pagesColin Cross
Add a new memusage field for swapped pages. Change-Id: I857143a5fdd294315dd89e834b1217a219f10479
2013-06-24libpagemap: add pm_map_usage_flagsColin Cross
Add pm_map_usage_flags, which is the same as pm_map_usage but only counts pages with the specified flags set. This can be used to only count "swapbacked" pages, which are pages that cannot be flushed back to disk without using swap. Change-Id: I6367555d9385502c797935849bb4221a8354e251
2013-06-24libpagemap: add page flags for new kernelsColin Cross
Change-Id: If4a4a2bbe9b1a68c5dce1151cf8b7c60cae1a3fa
2013-06-24libpagemap: add definition for mask of permission flagsColin Cross
Change-Id: Ibd0b26e4f5245592152d2c8ef00e7da1ad5f3fdf
2013-06-24libpagemap: fix vss calculationColin Cross
pm_map_usage was not incrementing vss for pages that were in the process's map but not occupying a physical page. Move the vss increment above the check for present mappings. Change-Id: I2706e6fbcbfe7d70f10950333a486d690bc84d6c
2013-06-24libpagemap: fix reusing previous name for mappings with no nameColin Cross
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
2012-01-20Fix various issues in procrank.Selim Gurun
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
2011-07-13Handle EOF when reading /proc/<pid>/pagemapColin Cross
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
2011-07-12Ignore the vector page in /proc/<pid>/mapsColin Cross
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
2010-05-05For issue #2651381, allow library prelinking.android-sdk-tools_r6android-sdk-2.2_r2android-sdk-2.2_r1android-cts-2.2_r8android-cts-2.2_r7android-cts-2.2_r6android-cts-2.2_r5android-cts-2.2_r4android-cts-2.2_r3android-cts-2.2_r2android-cts-2.2_r1android-2.2_r1.3android-2.2_r1.2android-2.2_r1.1android-2.2_r1android-2.2.3_r2.1android-2.2.3_r2android-2.2.3_r1android-2.2.2_r1android-2.2.1_r2android-2.2.1_r1froyo-releasefroyoDan Bornstein
Change-Id: I1b3e13f0e16b51604852437b32b1d8309471abc8
2009-03-03auto import from //depot/cupcake/@135843The Android Open Source Project
2009-03-03auto import from //depot/cupcake/@135843The Android Open Source Project
2008-10-21Initial Contributionandroid-1.0release-1.0cdma-importThe Android Open Source Project