OSDN Git Service
Yabin Cui [Thu, 7 Jul 2016 17:56:47 +0000 (10:56 -0700)]
simpleperf: add --symfs option for record command.
When running record command with -g or --dump-symbols command,
files with symbol table and debug information are needed. Similar
to report command, we can add --symfs option to record command.
Bug:
28911532
Test: run simpleperf_unit_test.
Change-Id: I8e2b6320ca29c8de78b4f217cd25e1ea4383150e
Yabin Cui [Thu, 7 Jul 2016 17:09:48 +0000 (17:09 +0000)]
Merge "Simpleperf: add auto generated summaries in stat command."
Yabin Cui [Thu, 23 Jun 2016 03:58:52 +0000 (20:58 -0700)]
Simpleperf: add auto generated summaries in stat command.
When there are summaries monitoring one event type in user
space and kernel space at the same time period, we can automatically
generate a summary combining the results generated in user space and
kernel space.
This can help to decrease the number of needed hardware counters.
Also adjust scale check when deciding whether an event is monitored
all the time.
Bug:
29213742
Change-Id: I272e21420700c10fccb1336a1e60138db8d13b3d
Test: run simpleperf_unit_test.
Yabin Cui [Thu, 7 Jul 2016 00:04:31 +0000 (00:04 +0000)]
Merge "simpleperf: add symbol filter for report command."
Yabin Cui [Thu, 7 Jul 2016 00:04:18 +0000 (00:04 +0000)]
Merge "simpleperf: fix RecordCache."
Yabin Cui [Wed, 6 Jul 2016 19:26:13 +0000 (12:26 -0700)]
simpleperf: add symbol filter for report command.
By adding --symbols option, we can report for selected functions.
It helps to filter out functions we don't care, especially when
we are using `simpleperf report --sort vaddr_in_file` to profile
inside a function.
Bug:
29826956
Change-Id: I4de9dfe1a376db097f6163aa780a079cbc33689a
Yabin Cui [Wed, 6 Jul 2016 19:01:35 +0000 (12:01 -0700)]
simpleperf: fix RecordCache.
RecordCache::Push(vector<..>) doesn't update last_time_, this makes
RecordCache don't pop any record before PopAll().
Bug:
29581559
Change-Id: Icea806346b7ad812e606eaf05747797b766ebd71
Test: run simpleperf_unit_test.
Yabin Cui [Sat, 2 Jul 2016 00:10:46 +0000 (00:10 +0000)]
Merge "Simpleperf: add vaddr_in_file sort key in report command."
Yabin Cui [Wed, 29 Jun 2016 19:18:11 +0000 (12:18 -0700)]
Simpleperf: add vaddr_in_file sort key in report command.
Currently report command can't report more details than function name.
After adding vaddr_in_file sort key, it can report the place of the
instruction being sampled. vaddr_in_file is the instruction's virtual
address in elf file, which matches output generated by objdump.
Bug:
29826956
Test: run simpleperf_unit_test.
Change-Id: Ifad4dfb7c60014a03c01ffbfd0b972858f1a4884
Treehugger Robot [Tue, 28 Jun 2016 21:30:42 +0000 (21:30 +0000)]
Merge "pagingtest: fix large read errors"
Than McIntosh [Tue, 28 Jun 2016 18:07:12 +0000 (18:07 +0000)]
Merge "Switch to new encoding scheme for large records."
Treehugger Robot [Tue, 28 Jun 2016 17:09:26 +0000 (17:09 +0000)]
Merge "Simpleperf: Add SPLIT and SPLIT_END records to handle big records."
Than McIntosh [Tue, 28 Jun 2016 15:50:11 +0000 (11:50 -0400)]
Switch to new encoding scheme for large records.
Move to the new SPLIT/SPLIT_END encoding scheme used
by simpleperf for records with oversized (more than 2^16 bytes)
payloads.
Bug:
29818021
Change-Id: I40126748dbe9b07b107c85b891f7aafbc556ae1f
Rom Lemarchand [Tue, 28 Jun 2016 14:51:33 +0000 (07:51 -0700)]
pagingtest: fix large read errors
Some kernels have a limit on the length of reads from urandom - fix
Change-Id: I67dda25c2e43121da1470a56e40d03c59fd5fabe
Yabin Cui [Fri, 24 Jun 2016 00:11:14 +0000 (17:11 -0700)]
Simpleperf: Add SPLIT and SPLIT_END records to handle big records.
Previously we split KernelSymbolRecord because it is > 65535. Then
I found TracingDataRecord can also be > 65535. So it is better to
handle big records when reading and writing perf.data.
record_file_writer.cpp splits a big record into multiple SPLIT
records followed by a SPLIT_END record, and record_file_reader.cpp
restores the big record when reading SPLIT and SPLIT_END records.
Also Add RecordHeader to represent record having size > 65535.
Bug:
29581559
Change-Id: I0b4556988f77b3431c7f1a28fce65cf225d6a067
Test: run simpleperf_unit_test.
Treehugger Robot [Thu, 23 Jun 2016 01:00:39 +0000 (01:00 +0000)]
Merge "Dist simpleperf executables in SDK targets"
Yabin Cui [Wed, 22 Jun 2016 23:49:12 +0000 (23:49 +0000)]
Merge "Simpleperf: use libc++_static on host."
Dan Willemsen [Wed, 22 Jun 2016 23:41:36 +0000 (16:41 -0700)]
Dist simpleperf executables in SDK targets
Bug:
28911532
Change-Id: I5ec387ee1bbdff1e62788aa1fe3995cb44b37754
Yabin Cui [Wed, 22 Jun 2016 22:48:25 +0000 (22:48 +0000)]
Merge "Simpleperf: report lost record count and warn if 10% records are lost."
Yabin Cui [Wed, 22 Jun 2016 22:30:37 +0000 (15:30 -0700)]
Simpleperf: use libc++_static on host.
Bug:
28911532
Change-Id: I5cc97fc35f5c5225ea81bdaec04cc22d9a99790f
Test: Use readelf to make sure simpleperf on host doesn't dynamically link libc++.so.
Yabin Cui [Wed, 22 Jun 2016 18:37:26 +0000 (11:37 -0700)]
Simpleperf: report lost record count and warn if 10% records are lost.
Bug:
29126335
Change-Id: Id4a5b51120389387ec3ab45ea9ad9a276aa6ce2a
Test: run simpleperf with high -f option and check the lost record warning.
Yabin Cui [Wed, 22 Jun 2016 21:19:54 +0000 (21:19 +0000)]
Merge "Simpleperf: adjust default mmap_pages for system wide profiling."
Yabin Cui [Wed, 22 Jun 2016 21:19:41 +0000 (21:19 +0000)]
Merge "Simpleperf: check if -f option for record command is in valid range."
Yabin Cui [Wed, 22 Jun 2016 21:19:25 +0000 (21:19 +0000)]
Merge "Simpleperf: check root privilege for system wide profiling."
Yabin Cui [Wed, 22 Jun 2016 19:43:09 +0000 (12:43 -0700)]
Simpleperf: check if -f option for record command is in valid range.
Read /proc/sys/kernel/perf_event_max_sample_rate to get max
valid sample frequency.
Bug:
29574526
Change-Id: I269fefc87a7561bb15f41c3b4a494e7604e005fb
Test: Run `simpleperf record -f
10000000`, check the error message.
Yabin Cui [Wed, 22 Jun 2016 19:14:45 +0000 (12:14 -0700)]
Simpleperf: check root privilege for system wide profiling.
Giving the suggestion to run as root is better than reporting
a bunch of failures trying to open perf_event files.
Bug:
29574526
Change-Id: Id7b7586a5aa7e79e4ef821f9ab710ccdf550ed94
Test: run `simpleperf record -a` with non root and check the error message.
Yabin Cui [Wed, 22 Jun 2016 19:07:21 +0000 (12:07 -0700)]
Simpleperf: adjust default mmap_pages for system wide profiling.
System wide profiling have much more records to pass between kernel
and simpleperf, thus it needs a larger buffer than process profiling.
Bug:
29126335
Change-Id: I2eeb273096bb9786d9b37b17bb8745c1d3b3de74
Test: Run `simpleperf record -a` gives almost zero lost samples.
Yabin Cui [Tue, 21 Jun 2016 17:03:06 +0000 (17:03 +0000)]
Merge "simpleperf: add kmem command to report slab allocation information."
Yabin Cui [Wed, 15 Jun 2016 18:41:42 +0000 (11:41 -0700)]
simpleperf: add kmem command to report slab allocation information.
Bug:
27403614
Change-Id: Id3015a4828ec32170ea1db3a1580b14a8bd159ba
Yabin Cui [Sat, 18 Jun 2016 00:58:28 +0000 (00:58 +0000)]
Merge "simpleperf: support event group."
Yabin Cui [Tue, 14 Jun 2016 01:03:47 +0000 (18:03 -0700)]
simpleperf: support event group.
Kernel supports monitoring several events as a group, so they are
scheduled on and out at the same time. Add --group option to
stat command and record command.
Adjust the method to calculate miss rate in stat command: limit
the matched events in the same group or with scale == 1.0.
Bug:
29213742
Change-Id: I899aba207f1e3357307541e81f97526f5a2913c3
Badhri Jagan Sridharan [Fri, 17 Jun 2016 02:48:17 +0000 (02:48 +0000)]
Merge "libfec: pack the fec_header structure"
Yabin Cui [Wed, 15 Jun 2016 22:50:12 +0000 (22:50 +0000)]
Merge "simpleperf: add type modifier when reporting events."
Yabin Cui [Wed, 15 Jun 2016 21:50:10 +0000 (21:50 +0000)]
Merge "simpleperf: replace SIMPLEPERF_ALIGN macro with Align inline function."
Yabin Cui [Wed, 15 Jun 2016 19:10:33 +0000 (12:10 -0700)]
simpleperf: add type modifier when reporting events.
Before the change:
$simpleperf record -e cpu-cycles:u sleep 1
$simpleperf report
...
Event: cpu-cycles (type 0, config 0)
...
After the change:
$simpleperf report
...
Event: cpu-cycles:u (type 0, config 0)
...
Change-Id: I296c5476e03250e928ed0f579483d6866576d417
Yabin Cui [Wed, 15 Jun 2016 18:49:23 +0000 (11:49 -0700)]
simpleperf: replace SIMPLEPERF_ALIGN macro with Align inline function.
Change-Id: Id9e9e67174ab3f857eb2baa9609351b60586b8dd
Tao Bao [Tue, 14 Jun 2016 16:09:16 +0000 (16:09 +0000)]
Merge "boot_control_copy: Track the the bootloader_message struct change."
Yabin Cui [Tue, 14 Jun 2016 01:40:35 +0000 (01:40 +0000)]
Merge "simpleperf: fix mac build."
Yabin Cui [Tue, 14 Jun 2016 01:14:39 +0000 (18:14 -0700)]
simpleperf: fix mac build.
Bug:
28114205
Change-Id: I84ad011b10c19e07576b718ba4b6b6c52a823366
Yabin Cui [Tue, 14 Jun 2016 00:16:34 +0000 (00:16 +0000)]
Merge "simpleperf: support report samples using format defined by protobuf."
Yabin Cui [Fri, 3 Jun 2016 22:06:53 +0000 (15:06 -0700)]
simpleperf: support report samples using format defined by protobuf.
Bug:
28114205
Change-Id: Idf6d64b8418b3d55d5a43f6096dd2d69764692c0
Sami Tolvanen [Mon, 13 Jun 2016 15:04:16 +0000 (15:04 +0000)]
Merge "libfec: return raw and corrected verity metadata signatures"
Yabin Cui [Sat, 11 Jun 2016 00:30:03 +0000 (00:30 +0000)]
Merge "simpleperf: restore perf_harden after simpleperf cts test."
Yabin Cui [Fri, 10 Jun 2016 19:15:11 +0000 (12:15 -0700)]
simpleperf: restore perf_harden after simpleperf cts test.
Bug:
29264324
Change-Id: Ia78ef924f049630968d222729cf3c1f378105b8a
Than McIntosh [Fri, 10 Jun 2016 11:02:40 +0000 (11:02 +0000)]
Merge "Support for converting callchain profiles."
Tao Bao [Fri, 10 Jun 2016 05:40:05 +0000 (22:40 -0700)]
boot_control_copy: Track the the bootloader_message struct change.
Bug:
29193360
Change-Id: I518e786eb2d45b6a71c25dc4402e3bbebef20dc6
Treehugger Robot [Fri, 10 Jun 2016 03:50:12 +0000 (03:50 +0000)]
Merge "postinst: Update comment to match implementation example."
Alex Deymo [Fri, 10 Jun 2016 01:09:43 +0000 (18:09 -0700)]
postinst: Update comment to match implementation example.
"set_progress" should be "global_progress" in the documentation as the
example shows.
Bug:
29223204
TEST=None
Change-Id: I01b2abb2ba500941e591515217533150ef05dd97
Sami Tolvanen [Fri, 3 Jun 2016 20:56:07 +0000 (13:56 -0700)]
libfec: return raw and corrected verity metadata signatures
Since it's not possible for libfec to identify whether the signature
field was successfully corrected, return both and allow the caller to
validate either signature.
Bug:
28943429
Change-Id: Ie913c21ba1d07d6df4c6feeb7226b2ec963f4d19
(cherry picked from commit
65cbaeb020b209f3d75d594ebbe49a609dd3c7e7)
Treehugger Robot [Fri, 3 Jun 2016 23:26:14 +0000 (23:26 +0000)]
Merge "simpleperf: dump tracing data when needed."
Yabin Cui [Thu, 2 Jun 2016 00:29:06 +0000 (17:29 -0700)]
simpleperf: dump tracing data when needed.
When monitoring tracepoint events, dump tracing data to perf.data
can enable reporting on a different machine.
Bug:
27403614
Change-Id: Ie1af624717a245cacbeb44b4c1bcd499fc9ad8db
Treehugger Robot [Fri, 3 Jun 2016 18:02:14 +0000 (18:02 +0000)]
Merge "simpleperf: add report-sample command."
Than McIntosh [Mon, 23 May 2016 15:07:08 +0000 (11:07 -0400)]
Support for converting callchain profiles.
Support conversion/logging of callchain profiles. A similar
change is already in place in google3.
Change-Id: Ibe5495b792f51a8aa010548d4d7ae9dd1aa40f72
Yabin Cui [Fri, 3 Jun 2016 04:02:43 +0000 (21:02 -0700)]
simpleperf: add report-sample command.
1. Add report-sample command to report each sample with symbol information.
2. Add --dump-symbols option to record command to collect dso and symbol
information in perf.data.
Bug:
28114205
Change-Id: I37424ee6abd74a21ad41cd3b6c4249cf0625c201
Than McIntosh [Thu, 2 Jun 2016 18:38:33 +0000 (18:38 +0000)]
Merge "Handle additional record types in perf.data reader."
Than McIntosh [Wed, 1 Jun 2016 16:21:42 +0000 (12:21 -0400)]
Handle additional record types in perf.data reader.
Enhance the perf.data reader in perfprofd to handle the new kernel
symbol records that simpleperf generates. In addition, add support for
handling PERF_SAMPLE_REGS_USER and PERF_SAMPLE_STACK_USER records as
well (these wind up in perf.data files if callchain profiling is
used). Perfprofd doesn't need to look at any of the data in these
records, but it does need to be able to read past them.
Bug:
29067424
Bug:
29067428
Change-Id: I38c12f6a219a4d28afe50e0418d30cfdcd1a9222
Yabin Cui [Thu, 2 Jun 2016 00:42:22 +0000 (00:42 +0000)]
Merge "simpleperf: check perf event limit."
Yabin Cui [Wed, 1 Jun 2016 22:39:39 +0000 (15:39 -0700)]
simpleperf: check perf event limit.
The property security.perf_harden is added in https://android-review.googlesource.com/#/c/233736/5. And simpleperf needs to notice that.
Bug:
29054680
Change-Id: I5f1593f5b389d182a56c4bf3bd438a1dc2b66686
Yabin Cui [Wed, 1 Jun 2016 18:27:57 +0000 (18:27 +0000)]
Merge "simpleperf: record kernel symbols in perf.data."
Yabin Cui [Wed, 25 May 2016 21:08:05 +0000 (14:08 -0700)]
simpleperf: record kernel symbols in perf.data.
To better support kernel profiling, record kernel symbols in perf.data
when necessary. An option --no-dump-kernel-symbols is added in
record command to always avoid recording kernel symbols.
The way to handle all zero /proc/modules and /proc/kallsyms is
improved. Add Better support in finding symbols for kernel modules.
Bug:
27403614
Change-Id: I470151c54f8a45ad1c101c1b94490e33d7fd7485
Yabin Cui [Wed, 25 May 2016 21:07:19 +0000 (21:07 +0000)]
Merge "simpleperf: refactor SampleTree for reuse."
Yabin Cui [Wed, 25 May 2016 17:28:39 +0000 (17:28 +0000)]
Merge "simpleperf: remove unneeded file."
Yabin Cui [Wed, 25 May 2016 01:23:33 +0000 (18:23 -0700)]
simpleperf: refactor SampleTree for reuse.
By moving most function in report command into template classes, it
allows other report commands to reuse the code.
Bug:
27403614
Change-Id: I3d35b3a34d48c5c043ba4257a52eaf0961c12bca
Yabin Cui [Tue, 24 May 2016 23:51:45 +0000 (16:51 -0700)]
simpleperf: remove unneeded file.
Change-Id: I7cf5134834882dfe34ace94c0309f59012de4ecd
Colin Cross [Tue, 24 May 2016 22:41:06 +0000 (22:41 +0000)]
Merge changes I26e290c0,I1b006d2a
* changes:
Add oom score tracking to procrank
C++-ify procrank
Colin Cross [Tue, 24 May 2016 18:05:31 +0000 (11:05 -0700)]
Add oom score tracking to procrank
procrank -o will sort by the oom score for each process, and show
cuumulative totals of memory stats for processes whose score is below
each lowmemorykiller oom score threshold. This is particularly useful
with procrank -o -c to see the amount of page cache used lowmemorykiller
threshold.
Change-Id: I26e290c0835472630f70ed933de43bfbfd7bdfb0
Colin Cross [Mon, 23 May 2016 23:50:59 +0000 (16:50 -0700)]
C++-ify procrank
Change-Id: I1b006d2af04f21c0c02ac2d7629340d91b876886
Treehugger Robot [Tue, 24 May 2016 18:34:19 +0000 (18:34 +0000)]
Merge "Fix misc-macro-parentheses warnings in testUtil.c."
Treehugger Robot [Mon, 23 May 2016 23:47:53 +0000 (23:47 +0000)]
Merge "Use LOCAL_CTS_GTEST_LIST_EXECUTABLE"
Treehugger Robot [Mon, 23 May 2016 22:56:05 +0000 (22:56 +0000)]
Merge "Fix misc-macro-parentheses warnings in f2fs_utils."
Chih-Hung Hsieh [Wed, 18 May 2016 21:59:04 +0000 (14:59 -0700)]
Fix misc-macro-parentheses warnings in f2fs_utils.
Bug:
28705665
Change-Id: I3341451eb77dd2539d70f3d3fa14f7eca188a63b
Dan Willemsen [Mon, 23 May 2016 20:58:49 +0000 (13:58 -0700)]
Use LOCAL_CTS_GTEST_LIST_EXECUTABLE
In preparation to move host native tests to their own folder, stop
assuming the location of the test list executable in
BUILD_CTS_EXECUTABLE.
Change-Id: I79004a21ffc7edc5cf0d8111ea9e9a8c0f782d98
Chih-hung Hsieh [Thu, 19 May 2016 18:16:38 +0000 (18:16 +0000)]
Merge "Fix misc-macro-parentheses warnings in kexec_tools."
Chih-hung Hsieh [Thu, 19 May 2016 00:48:13 +0000 (00:48 +0000)]
Merge "Fix misc-macro-parentheses warnings in ksmutils."
Treehugger Robot [Wed, 18 May 2016 23:31:53 +0000 (23:31 +0000)]
Merge "Fix misc-macro-parentheses warnings in boot_control_copy."
Treehugger Robot [Wed, 18 May 2016 23:24:37 +0000 (23:24 +0000)]
Merge "Fix misc-macro-parentheses warnings in ext4_utils."
Treehugger Robot [Wed, 18 May 2016 22:43:49 +0000 (22:43 +0000)]
Merge "Fix misc-macro-parentheses warnings in perfprofd."
Treehugger Robot [Wed, 18 May 2016 22:42:08 +0000 (22:42 +0000)]
Merge "Fix misc-macro-parentheses warnings in libpagemap."
Treehugger Robot [Wed, 18 May 2016 22:40:28 +0000 (22:40 +0000)]
Merge "Fix misc-macro-parentheses warnings in micro_bench."
Treehugger Robot [Wed, 18 May 2016 22:24:21 +0000 (22:24 +0000)]
Merge "Fix misc-macro-parentheses warnings in simpleperf."
Chih-Hung Hsieh [Wed, 18 May 2016 22:03:01 +0000 (15:03 -0700)]
Fix misc-macro-parentheses warnings in boot_control_copy.
Bug:
28705665
Change-Id: I9a8f0bd587c70ff3c60666c9f7dfba2d6e809336
Chih-Hung Hsieh [Wed, 18 May 2016 22:00:49 +0000 (15:00 -0700)]
Fix misc-macro-parentheses warnings in ext4_utils.
Bug:
28705665
Change-Id: I00da37172c5c8ba37e09a9a5e6a47e9f7446efea
Chih-Hung Hsieh [Wed, 18 May 2016 21:55:10 +0000 (14:55 -0700)]
Fix misc-macro-parentheses warnings in kexec_tools.
Bug:
28705665
Change-Id: Ie9f5ffafd9a89f412d7a6495002ada50f18b645e
Chih-Hung Hsieh [Wed, 18 May 2016 21:52:05 +0000 (14:52 -0700)]
Fix misc-macro-parentheses warnings in ksmutils.
Bug:
28705665
Change-Id: Ia3d9f1fef03afe1b0075ea88e61b721e35d13465
Chih-Hung Hsieh [Wed, 18 May 2016 21:49:08 +0000 (14:49 -0700)]
Fix misc-macro-parentheses warnings in libpagemap.
Bug:
28705665
Change-Id: I3a40229aeba12b3fb643770c92039a2af1e4a441
Chih-Hung Hsieh [Wed, 18 May 2016 21:46:31 +0000 (14:46 -0700)]
Fix misc-macro-parentheses warnings in micro_bench.
Bug:
28705665
Change-Id: I04d393ae608a7b803001f763c544fc13e8f2e9e6
Chih-Hung Hsieh [Wed, 18 May 2016 21:40:58 +0000 (14:40 -0700)]
Fix misc-macro-parentheses warnings in perfprofd.
NOLINT added to suppress warning.
Some macros intentionally leave the last sub-expression open,
without parenthesis around the whole conditional expression.
Bug:
28705665
Change-Id: I0c1abbdc147ad480345792cef0081d98c013a3ab
Chih-Hung Hsieh [Wed, 18 May 2016 21:36:58 +0000 (14:36 -0700)]
Fix misc-macro-parentheses warnings in simpleperf.
Bug:
28705665
Change-Id: I0521602cbca7eb3d2e242771da697dfab3fc727f
Chih-Hung Hsieh [Wed, 18 May 2016 21:28:55 +0000 (14:28 -0700)]
Fix misc-macro-parentheses warnings in testUtil.c.
Bug:
28705665
Change-Id: I709ae08e15e5afb067bf9b208664107a449e1de3
Rom Lemarchand [Tue, 17 May 2016 18:18:27 +0000 (18:18 +0000)]
Merge "pagingtest: test both with prefetching enabled and disabled"
Rom Lemarchand [Tue, 17 May 2016 18:17:38 +0000 (18:17 +0000)]
Merge "pagingtest: switch to advising random accesses"
Rom Lemarchand [Tue, 17 May 2016 17:10:18 +0000 (10:10 -0700)]
pagingtest: test both with prefetching enabled and disabled
Run the same tests with page cache prefetching both enabled and disabled.
Change-Id: Ica253781a17fa0a66c07d0f5658c6c7d8b047a16
Yabin Cui [Tue, 17 May 2016 16:39:03 +0000 (16:39 +0000)]
Merge "simpleperf: fix stat scale output."
Jeremy Compostella [Tue, 10 May 2016 09:53:06 +0000 (11:53 +0200)]
libfec: pack the fec_header structure
The fec_header structure is generated build time and stored on disk.
The fec_header might be build on a 64 bits machine while it is read
per a 32 bits device or the other way around. In such situations, the
fec_header fields are not aligned as expected by the device and it
fails to read the fec_header structure.
This patch makes the fec_header packed.
Change-Id: I77546f850cea5559909971a1192e1a7616d22d50
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Rom Lemarchand [Tue, 17 May 2016 03:17:41 +0000 (20:17 -0700)]
pagingtest: switch to advising random accesses
Switch to using madvise(MADV_RANDOM) and posix_fadvise(POSIX_FADV_RANDOM)
to disable caching as opposed to reading the file backwards, which still
went through some caching.
Measured a 80% drop in worst case performance after switching.
Change-Id: I03115dfb94ae7dfc58e0e187af3936c4e371817f
Yabin Cui [Tue, 17 May 2016 03:07:26 +0000 (20:07 -0700)]
simpleperf: fix stat scale output.
Currently simpleperf stat command create an event file for each cpu and
scale the result by summarizing counters on each cpu. But one thread only
runs on one cpu at a time, so it results in wrongly scaled numbers.
Fix this by three changes:
1. For non system-wide stat, Create only one event file for all cpus.
2. When summarizing counters, omit counters having 0 running time.
3. Print real value instead of scaled value.
Run command:
$simpleperf stat ./empty_program
Before the change:
Performance counter statistics:
33,540,176 cpu-cycles # 54.812986 GHz (2%)
28,233,348 stalled-cycles-frontend # 46.140 G/sec (2%)
After the change:
Performance counter statistics:
625,335 cpu-cycles # 1.404496 GHz (100%)
507,200 stalled-cycles-frontend # 1.139 G/sec (100%)
Change-Id: I76bc3e220df4f149ab365e960295b24fde8ae2fc
Treehugger Robot [Fri, 13 May 2016 18:13:22 +0000 (18:13 +0000)]
Merge "Remove canned_fs_config from ext4_utils"
Mark Salyzyn [Fri, 13 May 2016 16:42:33 +0000 (16:42 +0000)]
Merge "lockdep_chains: graph visualization"
Mark Salyzyn [Thu, 12 May 2016 17:48:25 +0000 (10:48 -0700)]
lockdep_chains: graph visualization
Create the system/extras/tools directory for simple analysis helpers.
Publish a host tool helper script that aids visualization of kernel
runtime collected lock dependencies. Helpful to look for circular
locks, or to get a handle on locking order used in a driver.
Bug:
28310683
Change-Id: Ib52c23f4cdefb37882232eff11b943eeb1b2abfa
Mohamad Ayyash [Fri, 8 Apr 2016 05:15:57 +0000 (22:15 -0700)]
Remove canned_fs_config from ext4_utils
It is now also used in mksquashfs so it was added to libcutils
BUG:
27467028
Change-Id: I81c87938d5b6b200a8ad817f0c64c5ca699f451c
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
BUG:
28704419