diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-02-01 17:26:26 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-02-01 17:26:26 +0000 |
commit | ac42184867e07d1ccf4c4bcaf64d9edfd680c4a7 (patch) | |
tree | 1dd5c9a3b955c541c00b4621fa3e02051606f028 /simpleperf/workload.cpp | |
parent | 1861f93faf03e6dbf5818a77df46e0fbe527eed3 (diff) | |
parent | bfe2d06be19a7f1e80b9487549348f950fee6903 (diff) | |
download | extras-ac42184867e07d1ccf4c4bcaf64d9edfd680c4a7.tar.gz |
Snap for 9550700 from bfe2d06be19a7f1e80b9487549348f950fee6903 to mainline-art-releaseaml_art_331813100aml_art_331813010aml_art_331711080aml_art_331612010android13-mainline-art-release
Change-Id: Idf46f826377e6561b32a8741df1eb8b816eb4bec
Diffstat (limited to 'simpleperf/workload.cpp')
-rw-r--r-- | simpleperf/workload.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/simpleperf/workload.cpp b/simpleperf/workload.cpp index 4bb7c540..92c6537b 100644 --- a/simpleperf/workload.cpp +++ b/simpleperf/workload.cpp @@ -18,6 +18,7 @@ #include <errno.h> #include <fcntl.h> +#include <sched.h> #include <sys/prctl.h> #include <sys/wait.h> #include <unistd.h> @@ -160,6 +161,18 @@ void Workload::ChildProcessFn(int start_signal_fd, int exec_child_fd) { } } +bool Workload::SetCpuAffinity(int cpu) { + CHECK_EQ(work_state_, NotYetStartNewProcess); + cpu_set_t mask; + CPU_ZERO(&mask); + CPU_SET(cpu, &mask); + if (sched_setaffinity(GetPid(), sizeof(mask), &mask) != 0) { + PLOG(WARNING) << "sched_setaffinity failed"; + return false; + } + return true; +} + bool Workload::Start() { CHECK_EQ(work_state_, NotYetStartNewProcess); char start_signal = 1; |