Messages in this thread | | | Date | Thu, 19 Dec 2019 10:40:18 -0500 | From | Steven Rostedt <> | Subject | Re: [PATCH v2] sched: Micro optimization in pick_next_task() and in check_preempt_curr() |
| |
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>
-- Steve
> > 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 >
| |