From 4dfca7c9d7decf492b244cd031d98c30c6a592eb Mon Sep 17 00:00:00 2001 From: Joel Fernandes Date: Thu, 15 Jun 2017 16:53:52 -0700 Subject: atrace: Enable cgroup tracing In prep for work involving analyzing cgroup CPU time distribution, enable this trace category in systrace. Bug: 37997910 Test: Enabled cgroup category by systrace as root/non-root Change-Id: Ie16cc347c3399eedcd7604fc3e9af607a45f34dc Signed-off-by: Joel Fernandes --- cmds/atrace/atrace.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'cmds/atrace/atrace.cpp') diff --git a/cmds/atrace/atrace.cpp b/cmds/atrace/atrace.cpp index d61cbc9476..17ed28bc5f 100644 --- a/cmds/atrace/atrace.cpp +++ b/cmds/atrace/atrace.cpp @@ -120,6 +120,7 @@ static const TracingCategory k_categories[] = { { OPT, "events/sched/sched_waking/enable" }, { OPT, "events/sched/sched_blocked_reason/enable" }, { OPT, "events/sched/sched_cpu_hotplug/enable" }, + { OPT, "events/cgroup/enable" }, } }, { "irq", "IRQ Events", 0, { { REQ, "events/irq/enable" }, -- cgit v1.2.3-59-g8ed1b From cb057c2e6bf23b43df49282c0db26b663e4535f7 Mon Sep 17 00:00:00 2001 From: Chih-Hung Hsieh Date: Thu, 3 Aug 2017 15:48:25 -0700 Subject: Fix clang-tidy performance warnings in frameworks/native. * Use const reference parameter type to avoid unnecessary copy. * Use more efficient overloaded string methods. * Use const reference type for loop index variables to avoid unnecessary copy. Bug: 30407689 Bug: 30411878 Bug: 30413223 Test: build with WITH_TIDY=1 Change-Id: I75ed62e2cb9939878b8932ed512ceb7e241edd6f --- cmds/atrace/atrace.cpp | 6 +++--- cmds/dumpstate/dumpstate.cpp | 4 ++-- cmds/dumpsys/dumpsys.cpp | 2 +- cmds/dumpsys/tests/dumpsys_test.cpp | 2 +- cmds/installd/CacheTracker.cpp | 4 ++-- cmds/installd/InstalldNativeService.cpp | 8 ++++---- cmds/surfacereplayer/replayer/Replayer.cpp | 2 +- libs/gui/BufferQueueProducer.cpp | 2 +- opengl/tests/hwc/hwcRects.cpp | 4 ++-- 9 files changed, 17 insertions(+), 17 deletions(-) (limited to 'cmds/atrace/atrace.cpp') diff --git a/cmds/atrace/atrace.cpp b/cmds/atrace/atrace.cpp index 9cdc9e906d..a48dab97cb 100644 --- a/cmds/atrace/atrace.cpp +++ b/cmds/atrace/atrace.cpp @@ -481,8 +481,8 @@ static bool setClock() newClock = "global"; } - size_t begin = clockStr.find("[") + 1; - size_t end = clockStr.find("]"); + size_t begin = clockStr.find('[') + 1; + size_t end = clockStr.find(']'); if (newClock.compare(0, std::string::npos, clockStr, begin, end-begin) == 0) { return true; } @@ -543,7 +543,7 @@ static void pokeHalServices() auto listRet = sm->list([&](const auto &interfaces) { for (size_t i = 0; i < interfaces.size(); i++) { string fqInstanceName = interfaces[i]; - string::size_type n = fqInstanceName.find("/"); + string::size_type n = fqInstanceName.find('/'); if (n == std::string::npos || interfaces[i].size() == n+1) continue; hidl_string fqInterfaceName = fqInstanceName.substr(0, n); diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp index 657323d90d..9e77e8fbcb 100644 --- a/cmds/dumpstate/dumpstate.cpp +++ b/cmds/dumpstate/dumpstate.cpp @@ -691,7 +691,7 @@ bool Dumpstate::AddZipEntryFromFd(const std::string& entry_name, int fd) { std::string valid_name = entry_name; // Rename extension if necessary. - size_t idx = entry_name.rfind("."); + size_t idx = entry_name.rfind('.'); if (idx != std::string::npos) { std::string extension = entry_name.substr(idx); std::transform(extension.begin(), extension.end(), extension.begin(), ::tolower); @@ -1432,7 +1432,7 @@ bool Dumpstate::FinishZipFile() { return true; } -static std::string SHA256_file_hash(std::string filepath) { +static std::string SHA256_file_hash(const std::string& filepath) { android::base::unique_fd fd(TEMP_FAILURE_RETRY(open(filepath.c_str(), O_RDONLY | O_NONBLOCK | O_CLOEXEC | O_NOFOLLOW))); if (fd == -1) { diff --git a/cmds/dumpsys/dumpsys.cpp b/cmds/dumpsys/dumpsys.cpp index f0e7200069..73c7f18236 100644 --- a/cmds/dumpsys/dumpsys.cpp +++ b/cmds/dumpsys/dumpsys.cpp @@ -176,7 +176,7 @@ int Dumpsys::main(int argc, char* const argv[]) { } for (size_t i = 0; i < N; i++) { - String16 service_name = std::move(services[i]); + const String16& service_name = std::move(services[i]); if (IsSkipped(skippedServices, service_name)) continue; sp service = sm_->checkService(service_name); diff --git a/cmds/dumpsys/tests/dumpsys_test.cpp b/cmds/dumpsys/tests/dumpsys_test.cpp index 66beb6d4e0..5ca2b578a6 100644 --- a/cmds/dumpsys/tests/dumpsys_test.cpp +++ b/cmds/dumpsys/tests/dumpsys_test.cpp @@ -95,7 +95,7 @@ MATCHER_P(AndroidElementsAre, expected, "") { } int i = 0; std::ostringstream actual_stream, expected_stream; - for (String16 actual : arg) { + for (const String16& actual : arg) { std::string actual_str = String8(actual).c_str(); std::string expected_str = expected[i]; actual_stream << "'" << actual_str << "' "; diff --git a/cmds/installd/CacheTracker.cpp b/cmds/installd/CacheTracker.cpp index 3eb39b9bed..ea0cd9e4e2 100644 --- a/cmds/installd/CacheTracker.cpp +++ b/cmds/installd/CacheTracker.cpp @@ -60,7 +60,7 @@ void CacheTracker::loadStats() { ATRACE_BEGIN("loadStats tree"); cacheUsed = 0; - for (auto path : mDataPaths) { + for (const auto& path : mDataPaths) { auto cachePath = read_path_inode(path, "cache", kXattrInodeCache); auto codeCachePath = read_path_inode(path, "code_cache", kXattrInodeCodeCache); calculate_tree_size(cachePath, &cacheUsed); @@ -170,7 +170,7 @@ void CacheTracker::loadItems() { items.clear(); ATRACE_BEGIN("loadItems"); - for (auto path : mDataPaths) { + for (const auto& path : mDataPaths) { loadItemsFrom(read_path_inode(path, "cache", kXattrInodeCache)); loadItemsFrom(read_path_inode(path, "code_cache", kXattrInodeCodeCache)); } diff --git a/cmds/installd/InstalldNativeService.cpp b/cmds/installd/InstalldNativeService.cpp index a711813b05..79c77dcd7b 100644 --- a/cmds/installd/InstalldNativeService.cpp +++ b/cmds/installd/InstalldNativeService.cpp @@ -1344,7 +1344,7 @@ binder::Status InstalldNativeService::getAppSize(const std::unique_ptr& codePaths, std::vector* _aidl_return) { ENFORCE_UID(AID_SYSTEM); CHECK_ARGUMENT_UUID(uuid); - for (auto packageName : packageNames) { + for (const auto& packageName : packageNames) { CHECK_ARGUMENT_PACKAGE_NAME(packageName); } // NOTE: Locking is relaxed on this method, since it's limited to @@ -1383,7 +1383,7 @@ binder::Status InstalldNativeService::getAppSize(const std::unique_ptr= AID_APP_START) { ATRACE_BEGIN("code"); - for (auto codePath : codePaths) { + for (const auto& codePath : codePaths) { calculate_tree_size(codePath, &stats.codeSize, -1, multiuser_get_shared_gid(0, appId)); } @@ -1402,7 +1402,7 @@ binder::Status InstalldNativeService::getAppSize(const std::unique_ptr