commit | 050df1accab0525ee2bb2747fcf07fccc3cfc66b | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Mon Jan 29 23:10:44 2018 +0000 |
committer | Primiano Tucci <primiano@google.com> | Mon Jan 29 23:10:44 2018 +0000 |
tree | c8287d527ffb1f72ae2bdb74e6ade800bce58ad9 | |
parent | 5b65c9f715a02b08e44d20b88657fbae8d22351f [diff] |
Send shared memory update IPC synchronously when stalling This is a workaround to reduce the likeliness of hanging indefinitely when a producer ends up in a stalling state because there are no more free pages in the buffer. In this case, the behavior prior to this CL, would cause the message loop to just hang in the for(;;) loop of SharedMemoryArbiterImpl without never sending the IPC (which is posted in a future task) that tells the service to drain the shared memory buffer (SMB), hence never getting out of the SMB-full situation. Change-Id: Ifdc9725d362d4c1f8ab5d1fcbcc89650a6ca4c34
This project is meant to be built both as part of the Android tree and from a standalone checkout
For internal docs see this page
Android is the platform targeted in the first milestones. Right now Linux desktop and OSX are maintained best-effort.
This project uses Android AOSP Gerrit for code reviews and uses the Google C++ style. Currently targets -std=c++11
.
You can use both git cl upload
from Chromium depot tools or Android repo to upload patches.
git cl
is quite convenient as it supports code auto-formatting via git cl format
.
See https://source.android.com/source/contributing for more details about external contributions and CLA signing.
See docs/build_instructions.md
Continuous build and test coverage is available at perfetto-ci.appspot.com. Trybots: CLs uploaded to gerrit are automatically submitted to TravisCI within one minute and made available on the CI page above. The relevant code lives in the infra/ directory.
$ tools/ninja -C out/default (tracing_unittests | tracing_benchmarks) $ out/default/tracing_unittests --gtest_help
Either connect a device in ADB mode or use the bundled emulator.
To start the emulator:$ tools/run_android_emulator (arm | arm64) &
To run the tests (either on the emulator or physical device):$ tools/run_android_test out/default tracing_unittests