[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <201812160524.1n4RI5Fj%fengguang.wu@intel.com>
Date: Sun, 16 Dec 2018 05:59:29 +0800
From: kbuild test robot <lkp@...el.com>
To: Benjamin Bouvier <benjamin.bouvier@...ia.com>
Cc: kbuild-all@...org, mingo@...hat.com, peterz@...radead.org,
rostedt@...dmis.org, u.kleine-koenig@...gutronix.de,
bigeasy@...utronix.de, pkondeti@...eaurora.org,
alexander.sverdlin@...ia.com, linux-kernel@...r.kernel.org,
Benjamin Bouvier <benjamin.bouvier@...ia.com>
Subject: Re: [PATCH] sched/debug: Add tracepoint for RT throttling
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
Download attachment ".config.gz" of type "application/gzip" (29739 bytes)
Powered by blists - more mailing lists