Messages in this thread Patch in this message | | | Date | Wed, 6 Mar 2019 13:38:34 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH] sched: fair: fix missed CONFIG_SCHEDSTATS |
| |
On Wed, Mar 06, 2019 at 07:49:36PM +0800, Yafang Shao wrote:
$ grep SCHEDSTAT defconfig-build/.config # CONFIG_SCHEDSTATS is not set $ obbjdump -dr defconfig-build/kernel/sched/fair.o | awk '/>:$/ { F=$2 } /sched_stat/ { print F " " $0 }' <update_curr>: 24cd: R_X86_64_32S __tracepoint_sched_stat_runtime+0x28 <update_curr>: 24d9: R_X86_64_PC32 __tracepoint_sched_stat_runtime+0x24 $ patch -p1 < foo patching file kernel/sched/fair.c $ make O=defconfig-build kernel/sched/ make[1]: Entering directory '/usr/src/linux-2.6/defconfig-build' Using .. as source for kernel GEN Makefile CALL ../scripts/checksyscalls.sh CALL ../scripts/atomic/check-atomics.sh DESCEND objtool CC kernel/sched/fair.o AR kernel/sched/built-in.a make[1]: Leaving directory '/usr/src/linux-2.6/defconfig-build' $ objdump -dr defconfig-build/kernel/sched/fair.o | awk '/>:$/ { F=$2 } /sched_stat/ { print F " " $0 }' $ cat foo diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 8213ff6e365d..6e5ceec3b662 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -839,7 +839,8 @@ static void update_curr(struct cfs_rq *cfs_rq) if (entity_is_task(curr)) { struct task_struct *curtask = task_of(curr); - trace_sched_stat_runtime(curtask, delta_exec, curr->vruntime); + if (schedstat_enabled()) + trace_sched_stat_runtime(curtask, delta_exec, curr->vruntime); cgroup_account_cputime(curtask, delta_exec); account_group_exec_runtime(curtask, delta_exec); }
_1_ line, where you wanted to add _6_ ugly #ifdefs
| |