Age | Commit message (Collapse) | Author |
|
|
|
|
|
simpleperf thinks a thread id is bound to a unique thread, and doesn't
handle thread exit records when building a thread tree. However, in a
long recording, if a thread exits, its thread id may be reused to create
new threads. It can cause segfault in simpleperf.
This CL fix this by handling thread exit records and destroying ThreadEntry
for destroyed threads. Also adjust cmd_report and cmd_report_sample for
the change.
Also fix a python test failed in the new android version.
Bug: 130157407
Test: run simpleperf_unit_test.
Test: record zygote for a long time while app keeps restarting.
Test: run python tests.
Change-Id: Ib77e772190edb29c4ab1dd42f888fbc415e4900d
|
|
Bug: http://b/129068177
Test: treehugger
Change-Id: I6925a102834706c21ee67c2a7742dd577b5f4895
|
|
|
|
Test: `m -j dist` with aosp_marlin-userdebug (which uses the tools in
this dir).
Test: TreeHugger
Change-Id: I39bae841ff287c431459fd42a4f64b099f12396e
|
|
|
|
Add testApiProfiler class in test.py to test start/stop api.
Avoid starting more than one profile threads in CppApi and JavaApi.
Also add assert check to show --trace-offcpu and pause/resume recording
can't be used at the same time.
Also add app_api in simpleperf_script.zip to release it in ndk.
Also use vfork instead of fork in cpp_api to avoid deadlock when forking
new processes.
Bug: 123717243
Test: run test.py TestApiProfiler* on Android N/O/P/Q.
Change-Id: Id382cf59f59bd7f7efb04259cc301ba4b955db78
|
|
|
|
This tool performs the inverse of lpmake. It can extract partition
images out of a prebuilt super.img. There are a few caveats:
- lpunpack does not support retrofit/split images.
- lpunpack does not support sparse super images. They must be unsparsed
before using with lpunpack.
- Partition names will be suffixed on A/B devices, meaning,
vendor_a.img will contain vendor.img and vendor_b.img will be
0-length.
Note that lpunpack will store output files with holes for zero blocks,
as a space-saving measure.
Usage: lpunpack [options] SUPER_IMAGE [OUTPUT_DIR]
Bug: 131173010
Test: m superimage
mm lpunpack
lpunpack super.img
lpunpack super.img out/
lpunpack -p vendor_a super.img
lpunpack -p unknown super.img
sha1sum image with precursor image
Change-Id: Iad3f7362ae6ce767ddc7de2e8cfa7e4a47190e99
|
|
|
|
|
|
posix_ and pthread_ functions [almost all] return positive errno values
on failure.
Test: builds
Change-Id: Ief1dafdc4fb972f396714ea1ed42183e317c3390
|
|
posix_ and pthread_ routines [almost all] return errno values on
failure.
Also stop reporting errno when we can give a message instead.
(This code should probably use error(3) instead, but that's a bigger
cleanup and I'm not sure this isn't all dead code anyway.)
Test: builds
Change-Id: I11e5927e4d797cd213f574fe414c021829625483
|
|
|
|
|
|
sbin was added to system.img a long time ago, which allows all
executables to be shared and rightfully placed in /system/bin.
Bug: 73660730
Test: build
Change-Id: I903042ca0948410189c6816628b32ecbe26c7fd0
|
|
- Change 'umount /postinstall' to a full umount_all so that
postinstall-verity device get destroyed.
- No longer set sys.cppreopt=mounted because that incurs even
more code. Just duplicate the two procedures.
Test: flash, boot, then check `dmctl list devices`, then OTA
Fixes: 129988285
Change-Id: Ic0cdf55b3639632dc5f2659c8bf36b8c3deea92d
Merged-In: Ic0cdf55b3639632dc5f2659c8bf36b8c3deea92d
|
|
|
|
We were incorrectly warning when a filename had 8 segments. This is
valid since we can have paths of the form
'/postinstall/product/priv-app/<app>/oat/arm64/<app>.odex' in addition
to those of the form
'/postinstall/priv-app/<app>/oat/arm64/<app>.odex'.
Test: boot, look at logcat
Bug: 123696019
Change-Id: I97c88302a3967e133421244bb132b4e8fd0812a1
|
|
|
|
|
|
Bug: http://b/128690014
Test: N/A
Change-Id: Ic925e1b8c0f226d934015dd9f9295ca9c137f059
|
|
|
|
|
|
I've removed 32-bit Linux and 32-bit macOS because they're unsupported.
The build server only has the binaries as a side-effect of the ART folks
doing some host-side testing of 32-bit ART.
The Windows situation seems a bit confused: we copy the 32-bit .exe into
the 64-bit directory, but copy the 64-bit .dll. I've left this as it
was, but added a couple of TODO comments.
Bug: http://b/128690014
Test: ./scripts/update.py --bid 5436767 -vv
Change-Id: I1a1429457c27be8900401437234dc9394d5b4b26
|
|
Taken from branch aosp-simpleperf-release.
Bug: http://b/128690014
Change-Id: I5ba4e9a3d27cdc8c3967b0188e844e74ebe5e114
|
|
Bug: 120041578
Test: build without --sparse but with --image.
Change-Id: Iaaa8324fa1f9e8e6785f96e787c8a4ee23d37982
|
|
|
|
|
|
This lets us set up the aosp-simpleperf-release branch to just build
simpleperf.
Bug: http://b/128690014
Test: manual
Change-Id: Ida8c4df5f6563b050a1399028fac31e7d1737f52
|
|
If some other process decides to run a brief period of GC and then turn
it off, checkpoint_gc.sh will keep running and hold up the OTA. To
combat that, we set gc_urgent again each cycle.
Test: set gc_urgent to 0 after the script sets it to 1. Verify script
still runs
Change-Id: If361a7e6aace2b20d976d94210fc5a72c3630c72
|
|
|
|
1) fsync the specific copied file instead of sync whole file system
2) boost prio/ioprio for CFQ since cpppreopt is on critical path
3) change to foreground group
Before CL:
03-29 21:49:31.450 1 1 I init : Service 'cppreopts' (pid 1662) exited with status 0 waiting took 55.175999 seconds
03-29 21:49:31.808 1440 1440 I PackageManager: cppreopts took 55591 ms
After CL:
04-01 15:47:43.841 1 1 I init : Service 'cppreopts' (pid 1871) exited with status 0 waiting took 2.007000 seconds
04-01 15:47:45.343 1549 1549 I PackageManager: cppreopts took 3709 ms
Bug: 129542240
Test: boot
Change-Id: Ia9bacabe798764084790b077abc80ae60401f9c1
|
|
* changes:
Helper static library for coverage/profile collection
Add OWNERS for system/extras/toolchain-extras
|
|
|
|
Bug: http://b/128524141
This static library adds two different ways to trigger the Clang profile
runtime to flush GCOV profiles:
- a real-time signal (37) targeted to this process/pid
- a transistion of "coverage.flush" sysprop from "0" -> "1".
Test: libprofile-extras-test
Change-Id: I6bc8149b32ca1aebd4646b28150985b7b93ab33f
|
|
|
|
Warning messages were placed in the output stream as well.
Put them in logcat so that stdout is always a valid JSON
string.
Test: lpdump --json on walleye
Bug: 126233777
Change-Id: If313eeaee9c347c498818f53decdf092328f142c
|
|
|
|
See build/soong/README.md for more information about Soong.
Bug: 122331914
Test: cd system/extras; mma
Test: treehugger
Change-Id: Ic1cf293df2c848c7476ca93c150106a4a3cd849c
|
|
The expression "!fd" calls the implicit conversion to int, but comparing
the raw fd against 0 won't work, since open() and other POSIX calls
returning file descriptors use -1 to signal an error.
Test: m verity_verifier
Change-Id: Ib117de62ff46c8d3389db54875bfa269fd539b51
|
|
Test: N/A
Change-Id: Idb0886aceb84da2465a2e37c6b8d4673ac770b32
|
|
|
|
* changes:
suspend_stress: depend on libbase
lpdump: Add --json option
Make lpdump possible without root.
lpdump: refactor to use std::ostream
|
|
Run until garbage collection is done to prevent long boot times while
f2fs checkpointing runs garbage collection
Test: Apply update, or run /vendor/bin/checkpoint_gc UNUSED 1
Bug: 123367711
Change-Id: I4481b9179a819621dd77f5088778950e49d73ff3
|
|
It links to libcutils statically.
Test: builds
Change-Id: Ia1ddc848777f67b4aae3abfb901f84e38d397f62
|
|
This option outputs in JSON format. In addition, it emits information
like usage data on mounted file systems, and block size of super block
devices.
Test: `lpdump --json` on host and device
Bug: 126233777
Change-Id: Iad68eb3932f317637e07cd692cdebe71e52db769
|
|
Test: adb unroot && adb shell lpdump
Bug: 126233777
Change-Id: Ie559072fe53fee43d7c4a9e8f97a89d979e5b9bc
|
|
|