[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <af65cbaf-2f8e-0384-03e8-262d35e3790e@virtuozzo.com>
Date: Thu, 19 Dec 2019 19:08:05 +0300
From: Kirill Tkhai <ktkhai@...tuozzo.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Peter Zijlstra <peterz@...radead.org>, mingo@...hat.com,
juri.lelli@...hat.com, vincent.guittot@...aro.org,
dietmar.eggemann@....com, bsegall@...gle.com, mgorman@...e.de,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] sched: Micro optimization in pick_next_task() and in
check_preempt_curr()
On 19.12.2019 18:40, Steven Rostedt wrote:
> On Thu, 19 Dec 2019 18:20:58 +0300
> Kirill Tkhai <ktkhai@...tuozzo.com> wrote:
>
>> From: Kirill Tkhai <ktkhai@...tuozzo.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@...dmis.org>
>
> For the above changes, you can add:
>
> Signed-off-by: Steven Rostedt (VMware) <rostedt@...dmis.org>
Should I resend this as two patches, with your changes in a separate?
>
>>
>> Signed-off-by: Kirill Tkhai <ktkhai@...tuozzo.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
>>
Powered by blists - more mailing lists