Age | Commit message (Collapse) | Author |
|
|
|
|
|
Doesn't seem to be anyone relying on it right now.
Bug: N/A
Test: builds
Change-Id: I4078984b496b218d4c145205f32033f38e930a16
|
|
* changes:
libpagemap: procmem: Add option to sort by USS.
libpagemap: procmem: Reset working set everytime if page_idle is used.
libpagemap: Add APIs to mark and read idle pages of a process.
libpagemap: add .clang-format-4
|
|
In same case, especially working set, USS may be much more actionable
for a process than PSS. Add option to sort by USS in all cases for the
same.
Bug: 111694435
Test: procmem -h -u 1
Test: procmem -h -i -u -w 1
Change-Id: Ifb9c4bd2ff18bb73d82c492cb1862a065ed630b4
Signed-off-by: Sandeep Patil <sspatil@google.com>
|
|
Idle page tracking works a bit differently than that of clear_refs. A
write of 1 to page_idle/bitmap tell the kernel to determine if the page is
"idle" and is not accessed *anytime* in the past.
This way, we end up catching any new allocations that may have been done
since the last time working set was reset too.
Bug: 111694435
Test: procmem -h -W 1 && procmem -h -w 1
Test: procmem -h -i -W 1
Test: procmem -h -i -w 1
Test: procmem -h -i -w <pid>; alloc memory in <pid>; procmem -h -i -w <pid>
Observe that newly allocated and set memory is no accounted in the
working set.
Change-Id: Icfabd4e27c006b84e01502fff666d76ebb74c409
Signed-off-by: Sandeep Patil <sspatil@google.com>
|
|
pm_kernel_init_page_idle() - Initialize idle page tracking.
pm_kernel_has_page_idle() - Returns 1 if idle page tracking has been
successfully initialized.
pm_kernel_get_page_idle() - Gets the idle status of the page frame.
pm_kernel_mark_page_idle() - Marks one or many page frames idle.
pm_kernel_page_is_accessed() - Returns 1 if page is accessed.
pm_map_mark_idle() - Marks mapped pages from a pagemap idle.
Added '-i' usage flag to procmem that tells procmem to use idle page
tracking. The flag is ignored in the absense of '-w' or '-W' options.
Bug: 111694435
Test: procmem -i -h 1
Test: procmem -h -W 1 && procmem -h -w 1
Test: procmem -h -i -W 1 && procmem -h -i -w 1
Change-Id: Ib9cb679427798426c9477500552e9aa83a40fd48
Signed-off-by: Sandeep Patil <sspatil@google.com>
|
|
Bug: None
Test: None
Change-Id: I7413d0dcdefddec66439f5ade29aeb898f82e0f4
Signed-off-by: Sandeep Patil <sspatil@google.com>
|
|
|
|
Bug: 113035007
Test: mmm -j system/extras
Change-Id: Id3fa08008b643002baa5f0be0961b36db35e25a9
Signed-off-by: Sandeep Patil <sspatil@google.com>
|
|
|
|
|
|
|
|
Bug: 112780007
Test: Build with other changes in the topic (aosp_taimen-userdebug).
Test: Boot into recovery. Verify basic functionalities (`adb shell` and
`adb sideload`, factory reset).
Change-Id: Ic72c5bebf6c72373e67a483062dc160638c68a4e
|
|
|
|
This is to reduce failures like
https://github.com/android-ndk/ndk/issues/740.
Also fix some places for python3.
Bug: none
Test: run test.py.
Change-Id: I751ccbc9940efa8727ec7b19710d452896049762
|
|
|
|
|
|
Also update for recently added options.
Bug: none
Test: run remarkable.
Change-Id: Ibe464842c91bddeade4740f310617f8cef7dbef3
|
|
Bug: N/A
Test: mmm system/extras/partition_tools
Change-Id: I0803c6ce48fa19ef9564c2af866e4a081d84ea36
|
|
pm_kernel_* APIs return errnos as error values, which works because
almost all callers check if the return value is 'true' or 'false'.
Most other APIs in libpagemap return negative errors however.
Fix pm_kernel_* APIs to be consistent with other library functions.
Bug: 111694435
Test: procrank; procmem 1; librank
Change-Id: Ia5cbf6a5676bc797f7cf0843f8b90228bfc3eaec
Signed-off-by: Sandeep Patil <sspatil@google.com>
|
|
|
|
libc.so/libart.so on device has .symtab but not .debug_line. In this
case, we still want to replace it with the unstripped binary.
Bug: none
Test: run test.py.
Change-Id: I0308e7fafe1f41c2e57870cf72355dc8151ed9fd
|
|
|
|
The mkuserimg_mke2fs.sh was a shell script, which expects all the
arguments in order. This cl changes the script to python which leverages
python's argumentparser and unittest modules.
The script usage is unchanged; and this tool will be packed into the
otatools.zip in the follow up cls. Then we'll change the caller site
gradually; and remove the old shell script after that.
Bug: 112555072
Bug: 63866463
Test: run unit tests & build a userdata image
Change-Id: Ie6b687da3de31a3481363f01d2b5c12df91ca5ce
|
|
In app_profiler.py, add --pid option to monitor native processes,
add --tid option to monitor native threads, add --system_wide
option to monitor system wide.
Switch inferno.py to use --pid option in app_profiler.py. Because
the previous way of converting pid to program name doesn't work
well on system_server process.
Add tests in test.py.
Bug: 112146809
Test: run test.py.
Change-Id: Ifd6d9f50ed025f1aeed482cb92679de348f6af59
|
|
|
|
Bug: 112146809
Test: inferno.sh --pid 620
Change-Id: I99afe432a194bb8799e4633f0a651ff1be2354f5
(cherry picked from commit 6db1fa95d3d4e25c49d3e7b0224df45f521f1f90)
|
|
|
|
|
|
ART frames can also exist before or after JITed Java methods.
Bug: none
Test: run report_html.py manually, and check that ART frames
Test: near JITed Java methods are removed.
Change-Id: I771cb7503bb62e8d0fc71167bfd887abe069554f
|
|
|
|
|
|
On Android >=Q, some debug system properties are used to set max
sample freq, cpu percentage and kernel buffer size used for recording.
This patches uses these debug properties to set needed kernel resources.
To set cpu percentage used for recording, add --cpu-percent option.
Bug: 110706031
Test: run simpleperf_unit_test.
Change-Id: I532ce417099c5a39ae89bdadfe76e512241904dd
|
|
|
|
This helps reduce the size of libfec.so and the overall size of recovery
image, as those libs are already installed on device.
Bug: 112494634
Test: `m dist` with aosp_taimen-userdebug
Test: `m -j bootimage` with aosp_taimen-userdebug. Check the size of
`recovery/system/lib64/libfec.so`.
Change-Id: I1c82ba6dcbb6f184fd9826b838af665cbfc06891
|
|
We're trying to enable -Wimplicit-fallthrough throughout Android. This
warning requires an explicit annotation every time we fall through
intentionally.
Thank you for explicitly commenting your fallthroughs :)
Bug: 112564944
Test: Builds
Change-Id: Iae8081a9776562330dd4b94d1091893086c984ad
|
|
|
|
In FlameGraphView, maxDepth can be much bigger than needed. Because
_renderSvgNodesWithSameRoot() cuts nodes with width < 0.1%. So fix
the function calculating maxDepth.
Bug: none
Test: run report_html.py manually.
Change-Id: I21e76b15d123db80d2cac3fa9bbc7337d8beb7a6
|
|
|
|
Because they have been deleted at the end of recording.
Bug: none
Test: run binary_cache_builder.py manually.
Change-Id: I7eaa2596ab697b1e8c6dee3e5b9dc96ebc9037fe
|
|
|
|
Bug: 112478838
Test: build with WITH_TIDY=1
Change-Id: I66c70192a0729243d99d1462fb3dcf59d6636212
|
|
|
|
Taken from branch aosp-master.
Bug: none
Test: run test.py on linux.
Change-Id: I21893c9a88ae3bbd2182a847b0768090357ed07f
|
|
Bug: 112478838
Test: build with WITH_TIDY=1
Change-Id: I6618efb1b005dd4194c010da9101d7899c40d30d
|
|
This allows second stage init using libext4_utils.so.
Bug: 112494634
Test: `m dist checkbuild` with aosp_marlin-userdebug
Change-Id: I72141cff901c7a124c9b791535b66884eae747fb
|
|
|
|
Bug: none
Test: run simpleperf_unit_test on arm.
Change-Id: I7586810e84574e9beee38fd69c63497c24946da5
|
|
|