Fix vmalloc memory usage parsing.
The size in /proc/vmallocinfo actually represents the size of the virtual region and not the size of memory allocated for the same. So, we have been over counting vmalloc memory usage in most cases leading into negative "Lost RAM". Moreover, as of kernel 4.14, binder allocations that were ignored before are now counted as vmalloc allocations since binder started using the 'vmalloc' flag instead of 'ioremap' flag for its vm area allocations. See: https://android.googlesource.com/kernel/common/+/86eda3864a704a98d5444ae60654b898731bfea5 .. This makes the problem even worse for devices that are running kernel 4.14 and beyond. Fix that by looking specifically for "pages=" in each line of /proc/vmallocinfo to get the number of physical pages associated with the particular allocation. Bug: 119639955 Test: 'dumpsys meminfo' before and after on cuttlefish running 4.14 kernel. Result: Lost RAM (before) : -151,462K Lost RAM (after) : -5,312K Change-Id: I3d677572613392383ee8ea0968bde0e0913c42cf Signed-off-by: Sandeep Patil <sspatil@google.com>
Loading
Please register or sign in to comment