Hi Benjamin, Thank you for the patch! Yet something to improve: [auto build test ERROR on tip/perf/core] [also build test ERROR on v4.20-rc6 next-20181214] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Benjamin-Bouvier/sched-debug-Add-tracepoint-for-RT-throttling/20181216-050740 config: x86_64-randconfig-x001-201850 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): In file included from include/linux/kernel.h:14:0, from arch/x86/include/asm/percpu.h:45, from arch/x86/include/asm/current.h:6, from include/linux/sched.h:12, from kernel//sched/sched.h:5, from kernel//sched/rt.c:6: kernel//sched/rt.c: In function 'sched_rt_runtime_exceeded': >> kernel//sched/rt.c:934:59: error: 'struct rq' has no member named 'cpu' rt_rq->rq->curr->pid, rt_rq->rq->curr->comm, rt_rq->rq->cpu); ^ include/linux/printk.h:372:26: note: in definition of macro 'printk_deferred_once' printk_deferred(fmt, ##__VA_ARGS__); \ ^~~~~~~~~~~ kernel//sched/rt.c:935:56: error: 'struct rq' has no member named 'cpu' trace_sched_rt_throttling(rt_rq->rq->curr, rt_rq->rq->cpu); ^~ vim +934 kernel//sched/rt.c 907 908 static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq) 909 { 910 u64 runtime = sched_rt_runtime(rt_rq); 911 912 if (rt_rq->rt_throttled) 913 return rt_rq_throttled(rt_rq); 914 915 if (runtime >= sched_rt_period(rt_rq)) 916 return 0; 917 918 balance_runtime(rt_rq); 919 runtime = sched_rt_runtime(rt_rq); 920 if (runtime == RUNTIME_INF) 921 return 0; 922 923 if (rt_rq->rt_time > runtime) { 924 struct rt_bandwidth *rt_b = sched_rt_bandwidth(rt_rq); 925 926 /* 927 * Don't actually throttle groups that have no runtime assigned 928 * but accrue some time due to boosting. 929 */ 930 if (likely(rt_b->rt_runtime)) { 931 rt_rq->rt_throttled = 1; 932 printk_deferred_once( 933 "sched: RT throttling activated for task pid %d (%s) on cpu:%d\n", > 934 rt_rq->rq->curr->pid, rt_rq->rq->curr->comm, rt_rq->rq->cpu); 935 trace_sched_rt_throttling(rt_rq->rq->curr, rt_rq->rq->cpu); 936 } else { 937 /* 938 * In case we did anyway, make it go away, 939 * replenishment is a joke, since it will replenish us 940 * with exactly 0 ns. 941 */ 942 rt_rq->rt_time = 0; 943 } 944 945 if (rt_rq_throttled(rt_rq)) { 946 sched_rt_rq_dequeue(rt_rq); 947 return 1; 948 } 949 } 950 951 return 0; 952 } 953 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation