Messages in this thread | | | Subject | Re: [PATCH v2] sched: Micro optimization in pick_next_task() and in check_preempt_curr() | From | Kirill Tkhai <> | Date | Thu, 19 Dec 2019 19:08:05 +0300 |
| |
On 19.12.2019 18:40, Steven Rostedt wrote: > On Thu, 19 Dec 2019 18:20:58 +0300 > Kirill Tkhai <ktkhai@virtuozzo.com> wrote: > >> From: Kirill Tkhai <ktkhai@virtuozzo.com> >> >> This introduces an optimization based on xxx_sched_class addresses >> in two hot scheduler functions: pick_next_task() and check_preempt_curr(). >> >> After this patch, it will be possible to compare pointers to sched classes >> to check, which of them has a higher priority, instead of current iterations >> using for_each_class(). >> >> One more result of the patch is that size of object file becomes a little >> less (excluding added BUG_ON(), which goes in __init section): >> >> $size kernel/sched/core.o >> text data bss dec hex filename >> before: 66446 18957 676 86079 1503f kernel/sched/core.o >> after: 66398 18957 676 86031 1500f kernel/sched/core.o >> >> SCHED_DATA improvements guaranteeing order of sched classes are made >> by Steven Rostedt <rostedt@goodmis.org> > > For the above changes, you can add: > > Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Should I resend this as two patches, with your changes in a separate?
> >> >> Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> >> >> v2: Steven's data sections ordering. Hunk with comment in Makefile is removed. >> --- >> include/asm-generic/vmlinux.lds.h | 8 ++++++++ >> kernel/sched/core.c | 24 +++++++++--------------- >> kernel/sched/deadline.c | 3 ++- >> kernel/sched/fair.c | 3 ++- >> kernel/sched/idle.c | 3 ++- >> kernel/sched/rt.c | 3 ++- >> kernel/sched/stop_task.c | 3 ++- >> 7 files changed, 27 insertions(+), 20 deletions(-) >> >> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h >> index e00f41aa8ec4..ff12a422ff19 100644 >> --- a/include/asm-generic/vmlinux.lds.h >> +++ b/include/asm-generic/vmlinux.lds.h >> @@ -108,6 +108,13 @@ >> #define SBSS_MAIN .sbss >> #endif >>
| |