diff options
author | Kalesh Singh <kaleshsingh@google.com> | 2022-11-23 02:37:15 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-11-23 02:37:15 +0000 |
commit | 92aeeb9616040812531c582eac21792d045a11f8 (patch) | |
tree | 0826fe92a08684f6246d6a7a0986f249d1a43e1a | |
parent | 21f2921b0a0ab4e02c84e6641e0e80aa2760bb9d (diff) | |
parent | 1f6b55028bc3f86852ac51ce149626bda141f7cc (diff) | |
download | trace-cmd-92aeeb9616040812531c582eac21792d045a11f8.tar.gz |
ANDROID: libtracecmd: Add pthread_set/get_affinity_np() am: 61488b8939 am: 494481b06a am: 1f6b55028b
Original change: https://android-review.googlesource.com/c/platform/external/trace-cmd/+/2084180
Change-Id: I9a42d1993dc0af462321ebcda8881b12d06785c2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | lib/trace-cmd/trace-timesync.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/trace-cmd/trace-timesync.c b/lib/trace-cmd/trace-timesync.c index cc44af38..bbefda20 100644 --- a/lib/trace-cmd/trace-timesync.c +++ b/lib/trace-cmd/trace-timesync.c @@ -41,6 +41,28 @@ struct tsync_probe_request_msg { unsigned short cpu; } __packed; +#ifdef __ANDROID__ +#define __NR_sched_setaffinity 122 +#define __NR_sched_getaffinity 123 + +static int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize, const cpu_set_t *cpuset) +{ + return -syscall(__NR_sched_setaffinity, thread, cpusetsize, cpuset); +} + +static int pthread_getaffinity_np(pthread_t thread, size_t cpusetsize, const cpu_set_t *cpuset) +{ + long ret = syscall(__NR_sched_getaffinity, thread, cpusetsize, cpuset); + + if (ret < 0) + return ret; + if (ret < cpusetsize) + memset((char *)cpuset+ret, 0, cpusetsize-ret); + + return 0; +} +#endif /* __ANDROID__ */ + static struct tsync_proto *tsync_proto_list; static struct tsync_proto *tsync_proto_find(const char *proto_name) |