lkml.org 
[lkml]   [2019]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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
>

\
 
 \ /
  Last update: 2019-12-19 16:41    [W:0.086 / U:10.744 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site