1*4882a593SmuzhiyunFrom b63f13d2df91ede45288653b21e0d30a6b45f2ac Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Beniamin Sandu <beniaminsandu@gmail.com> 3*4882a593SmuzhiyunDate: Mon, 30 Nov 2020 18:24:48 +0200 4*4882a593SmuzhiyunSubject: [PATCH] trace-cmd: make it build with musl 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSigned-off-by: Beniamin Sandu <beniaminsandu@gmail.com> 7*4882a593Smuzhiyun--- 8*4882a593Smuzhiyun include/trace-cmd/trace-cmd.h | 1 + 9*4882a593Smuzhiyun lib/trace-cmd/trace-msg.c | 1 + 10*4882a593Smuzhiyun lib/trace-cmd/trace-plugin.c | 2 ++ 11*4882a593Smuzhiyun lib/tracefs/tracefs-events.c | 1 + 12*4882a593Smuzhiyun tracecmd/trace-agent.c | 1 + 13*4882a593Smuzhiyun tracecmd/trace-setup-guest.c | 1 + 14*4882a593Smuzhiyun tracecmd/trace-tsync.c | 15 ++++++++++----- 15*4882a593Smuzhiyun 7 files changed, 17 insertions(+), 5 deletions(-) 16*4882a593Smuzhiyun 17*4882a593Smuzhiyundiff --git a/include/trace-cmd/trace-cmd.h b/include/trace-cmd/trace-cmd.h 18*4882a593Smuzhiyunindex f3c95f3..a697905 100644 19*4882a593Smuzhiyun--- a/include/trace-cmd/trace-cmd.h 20*4882a593Smuzhiyun+++ b/include/trace-cmd/trace-cmd.h 21*4882a593Smuzhiyun@@ -6,6 +6,7 @@ 22*4882a593Smuzhiyun #ifndef _TRACE_CMD_H 23*4882a593Smuzhiyun #define _TRACE_CMD_H 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun+#include <sys/types.h> 26*4882a593Smuzhiyun #include "traceevent/event-parse.h" 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun #define TRACECMD_MAGIC { 23, 8, 68 } 29*4882a593Smuzhiyundiff --git a/lib/trace-cmd/trace-msg.c b/lib/trace-cmd/trace-msg.c 30*4882a593Smuzhiyunindex 4a0bfa9..fc1f2c7 100644 31*4882a593Smuzhiyun--- a/lib/trace-cmd/trace-msg.c 32*4882a593Smuzhiyun+++ b/lib/trace-cmd/trace-msg.c 33*4882a593Smuzhiyun@@ -21,6 +21,7 @@ 34*4882a593Smuzhiyun #include <arpa/inet.h> 35*4882a593Smuzhiyun #include <sys/types.h> 36*4882a593Smuzhiyun #include <linux/types.h> 37*4882a593Smuzhiyun+#include <byteswap.h> 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun #include "trace-write-local.h" 40*4882a593Smuzhiyun #include "trace-cmd-local.h" 41*4882a593Smuzhiyundiff --git a/lib/trace-cmd/trace-plugin.c b/lib/trace-cmd/trace-plugin.c 42*4882a593Smuzhiyunindex 92f9edf..c2ef3dc 100644 43*4882a593Smuzhiyun--- a/lib/trace-cmd/trace-plugin.c 44*4882a593Smuzhiyun+++ b/lib/trace-cmd/trace-plugin.c 45*4882a593Smuzhiyun@@ -8,6 +8,8 @@ 46*4882a593Smuzhiyun #include <dlfcn.h> 47*4882a593Smuzhiyun #include <sys/stat.h> 48*4882a593Smuzhiyun #include <libgen.h> 49*4882a593Smuzhiyun+#include <limits.h> 50*4882a593Smuzhiyun+ 51*4882a593Smuzhiyun #include "trace-cmd.h" 52*4882a593Smuzhiyun #include "trace-local.h" 53*4882a593Smuzhiyun 54*4882a593Smuzhiyundiff --git a/lib/tracefs/tracefs-events.c b/lib/tracefs/tracefs-events.c 55*4882a593Smuzhiyunindex 8e825f5..a8d8560 100644 56*4882a593Smuzhiyun--- a/lib/tracefs/tracefs-events.c 57*4882a593Smuzhiyun+++ b/lib/tracefs/tracefs-events.c 58*4882a593Smuzhiyun@@ -13,6 +13,7 @@ 59*4882a593Smuzhiyun #include <errno.h> 60*4882a593Smuzhiyun #include <sys/stat.h> 61*4882a593Smuzhiyun #include <fcntl.h> 62*4882a593Smuzhiyun+#include <limits.h> 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun #include "kbuffer.h" 65*4882a593Smuzhiyun #include "tracefs.h" 66*4882a593Smuzhiyundiff --git a/tracecmd/trace-agent.c b/tracecmd/trace-agent.c 67*4882a593Smuzhiyunindex b581696..abfefac 100644 68*4882a593Smuzhiyun--- a/tracecmd/trace-agent.c 69*4882a593Smuzhiyun+++ b/tracecmd/trace-agent.c 70*4882a593Smuzhiyun@@ -20,6 +20,7 @@ 71*4882a593Smuzhiyun #include <unistd.h> 72*4882a593Smuzhiyun #include <linux/vm_sockets.h> 73*4882a593Smuzhiyun #include <pthread.h> 74*4882a593Smuzhiyun+#include <limits.h> 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun #include "trace-local.h" 77*4882a593Smuzhiyun #include "trace-msg.h" 78*4882a593Smuzhiyundiff --git a/tracecmd/trace-setup-guest.c b/tracecmd/trace-setup-guest.c 79*4882a593Smuzhiyunindex 899848c..99595a1 100644 80*4882a593Smuzhiyun--- a/tracecmd/trace-setup-guest.c 81*4882a593Smuzhiyun+++ b/tracecmd/trace-setup-guest.c 82*4882a593Smuzhiyun@@ -13,6 +13,7 @@ 83*4882a593Smuzhiyun #include <string.h> 84*4882a593Smuzhiyun #include <sys/stat.h> 85*4882a593Smuzhiyun #include <unistd.h> 86*4882a593Smuzhiyun+#include <limits.h> 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun #include "trace-local.h" 89*4882a593Smuzhiyun #include "trace-msg.h" 90*4882a593Smuzhiyundiff --git a/tracecmd/trace-tsync.c b/tracecmd/trace-tsync.c 91*4882a593Smuzhiyunindex e639788..b8b5ac3 100644 92*4882a593Smuzhiyun--- a/tracecmd/trace-tsync.c 93*4882a593Smuzhiyun+++ b/tracecmd/trace-tsync.c 94*4882a593Smuzhiyun@@ -104,13 +104,15 @@ int tracecmd_host_tsync(struct buffer_instance *instance, 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun pthread_attr_init(&attrib); 97*4882a593Smuzhiyun pthread_attr_setdetachstate(&attrib, PTHREAD_CREATE_JOINABLE); 98*4882a593Smuzhiyun- if (!get_first_cpu(&pin_mask, &mask_size)) 99*4882a593Smuzhiyun- pthread_attr_setaffinity_np(&attrib, mask_size, pin_mask); 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun ret = pthread_create(&instance->tsync_thread, &attrib, 102*4882a593Smuzhiyun tsync_host_thread, &instance->tsync); 103*4882a593Smuzhiyun- if (!ret) 104*4882a593Smuzhiyun+ if (!ret) { 105*4882a593Smuzhiyun+ if (!get_first_cpu(&pin_mask, &mask_size)) 106*4882a593Smuzhiyun+ pthread_setaffinity_np(instance->tsync_thread, mask_size, pin_mask); 107*4882a593Smuzhiyun instance->tsync_thread_running = true; 108*4882a593Smuzhiyun+ } 109*4882a593Smuzhiyun+ 110*4882a593Smuzhiyun if (pin_mask) 111*4882a593Smuzhiyun CPU_FREE(pin_mask); 112*4882a593Smuzhiyun pthread_attr_destroy(&attrib); 113*4882a593Smuzhiyun@@ -243,11 +245,14 @@ unsigned int tracecmd_guest_tsync(char *tsync_protos, 114*4882a593Smuzhiyun pthread_attr_init(&attrib); 115*4882a593Smuzhiyun tsync->sync_proto = proto; 116*4882a593Smuzhiyun pthread_attr_setdetachstate(&attrib, PTHREAD_CREATE_JOINABLE); 117*4882a593Smuzhiyun- if (!get_first_cpu(&pin_mask, &mask_size)) 118*4882a593Smuzhiyun- pthread_attr_setaffinity_np(&attrib, mask_size, pin_mask); 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun ret = pthread_create(thr_id, &attrib, tsync_agent_thread, tsync); 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun+ if (!ret) { 123*4882a593Smuzhiyun+ if (!get_first_cpu(&pin_mask, &mask_size)) 124*4882a593Smuzhiyun+ pthread_setaffinity_np(*thr_id, mask_size, pin_mask); 125*4882a593Smuzhiyun+ } 126*4882a593Smuzhiyun+ 127*4882a593Smuzhiyun if (pin_mask) 128*4882a593Smuzhiyun CPU_FREE(pin_mask); 129*4882a593Smuzhiyun pthread_attr_destroy(&attrib); 130*4882a593Smuzhiyun-- 131*4882a593Smuzhiyun2.25.1 132*4882a593Smuzhiyun 133