All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7]  Add latency_nice priority
@ 2022-05-12 16:35 Vincent Guittot
  2022-05-12 16:35 ` [PATCH v2 1/7] sched: Introduce latency-nice as a per-task attribute Vincent Guittot
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Vincent Guittot @ 2022-05-12 16:35 UTC (permalink / raw)
  To: mingo, peterz, juri.lelli, dietmar.eggemann, rostedt, bsegall,
	mgorman, bristot, vschneid, linux-kernel, parth
  Cc: qais.yousef, chris.hyser, valentin.schneider, patrick.bellasi,
	David.Laight, pjt, pavel, tj, qperret, tim.c.chen, joshdon,
	Vincent Guittot

This patchset restarts the work about adding a latency nice priority to
describe the latency tolerance of cfs tasks.

The patches [1-4] have been done by Parth:
https://lore.kernel.org/lkml/20200228090755.22829-1-parth@linux.ibm.com/

I have just rebased and moved the set of latency priority outside the
priority update. I have removed the reviewed tag because the patches
are 2 years old.

The patches [5-7] use latency nice priority to decide if a cfs task can
preempt the current running task. Patch 5 gives some tests results with
cyclictests and hackbench to highlight the benefit of latency nice
priority for short interactive task or long intensive tasks.


Change since v1:
- fix typo
- move some codes in the right patch to make bisect happy
- simplify and fixed how the weight is computed
- added support of sched core patch 7

Parth Shah (4):
  sched: Introduce latency-nice as a per-task attribute
  sched/core: Propagate parent task's latency requirements to the child
    task
  sched: Allow sched_{get,set}attr to change latency_nice of the task
  sched/core: Add permission checks for setting the latency_nice value

Vincent Guittot (3):
  sched/fair: Take into account latency nice at wakeup
  sched/fair: Add sched group latency support
  sched/core: support latency nice with sched core

 include/linux/sched.h            |   3 +
 include/uapi/linux/sched.h       |   4 +-
 include/uapi/linux/sched/types.h |  19 ++++++
 init/init_task.c                 |   1 +
 kernel/sched/core.c              |  90 ++++++++++++++++++++++++++
 kernel/sched/debug.c             |   1 +
 kernel/sched/fair.c              | 105 ++++++++++++++++++++++++++++++-
 kernel/sched/sched.h             |  34 ++++++++++
 tools/include/uapi/linux/sched.h |   4 +-
 9 files changed, 257 insertions(+), 4 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: [PATCH v2 6/7] sched/fair: Add sched group latency support
  2022-05-12 16:35 ` [PATCH v2 6/7] sched/fair: Add sched group latency support Vincent Guittot
@ 2022-05-16 13:06 ` Dan Carpenter
  -1 siblings, 0 replies; 23+ messages in thread
From: kernel test robot @ 2022-05-15  8:28 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 3755 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
In-Reply-To: <20220512163534.2572-7-vincent.guittot@linaro.org>
References: <20220512163534.2572-7-vincent.guittot@linaro.org>
TO: Vincent Guittot <vincent.guittot@linaro.org>

Hi Vincent,

I love your patch! Perhaps something to improve:

[auto build test WARNING on tip/sched/core]
[also build test WARNING on linux/master tip/master linus/master v5.18-rc6 next-20220513]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/intel-lab-lkp/linux/commits/Vincent-Guittot/Add-latency_nice-priority/20220513-005836
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 734387ec2f9d77b00276042b1fa7c95f48ee879d
:::::: branch date: 3 days ago
:::::: commit date: 3 days ago
config: x86_64-rhel-8.3-kselftests (https://download.01.org/0day-ci/archive/20220515/202205151601.2cHPPsvk-lkp(a)intel.com/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
kernel/sched/fair.c:11785 sched_group_set_latency() error: buffer overflow 'sched_latency_to_weight' 40 <= 40
kernel/sched/fair.c:11785 sched_group_set_latency() error: buffer overflow 'sched_latency_to_weight' 40 <= 40

vim +/sched_latency_to_weight +11785 kernel/sched/fair.c

304000390f88d0 Josh Don        2021-07-29  11761  
632b7c939b164d Vincent Guittot 2022-05-12  11762  int sched_group_set_latency(struct task_group *tg, long latency_prio)
632b7c939b164d Vincent Guittot 2022-05-12  11763  {
632b7c939b164d Vincent Guittot 2022-05-12  11764  	int i;
632b7c939b164d Vincent Guittot 2022-05-12  11765  
632b7c939b164d Vincent Guittot 2022-05-12  11766  	if (tg == &root_task_group)
632b7c939b164d Vincent Guittot 2022-05-12  11767  		return -EINVAL;
632b7c939b164d Vincent Guittot 2022-05-12  11768  
632b7c939b164d Vincent Guittot 2022-05-12  11769  	if (latency_prio < 0 ||
632b7c939b164d Vincent Guittot 2022-05-12  11770  	    latency_prio > LATENCY_NICE_WIDTH)
632b7c939b164d Vincent Guittot 2022-05-12  11771  		return -EINVAL;
632b7c939b164d Vincent Guittot 2022-05-12  11772  
632b7c939b164d Vincent Guittot 2022-05-12  11773  	mutex_lock(&shares_mutex);
632b7c939b164d Vincent Guittot 2022-05-12  11774  
632b7c939b164d Vincent Guittot 2022-05-12  11775  	if (tg->latency_prio == latency_prio) {
632b7c939b164d Vincent Guittot 2022-05-12  11776  		mutex_unlock(&shares_mutex);
632b7c939b164d Vincent Guittot 2022-05-12  11777  		return 0;
632b7c939b164d Vincent Guittot 2022-05-12  11778  	}
632b7c939b164d Vincent Guittot 2022-05-12  11779  
632b7c939b164d Vincent Guittot 2022-05-12  11780  	tg->latency_prio = latency_prio;
632b7c939b164d Vincent Guittot 2022-05-12  11781  
632b7c939b164d Vincent Guittot 2022-05-12  11782  	for_each_possible_cpu(i) {
632b7c939b164d Vincent Guittot 2022-05-12  11783  		struct sched_entity *se = tg->se[i];
632b7c939b164d Vincent Guittot 2022-05-12  11784  
632b7c939b164d Vincent Guittot 2022-05-12 @11785  		WRITE_ONCE(se->latency_weight, sched_latency_to_weight[latency_prio]);
632b7c939b164d Vincent Guittot 2022-05-12  11786  	}
632b7c939b164d Vincent Guittot 2022-05-12  11787  
632b7c939b164d Vincent Guittot 2022-05-12  11788  	mutex_unlock(&shares_mutex);
632b7c939b164d Vincent Guittot 2022-05-12  11789  	return 0;
632b7c939b164d Vincent Guittot 2022-05-12  11790  }
632b7c939b164d Vincent Guittot 2022-05-12  11791  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2022-05-23 13:19 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-12 16:35 [PATCH v2 0/7] Add latency_nice priority Vincent Guittot
2022-05-12 16:35 ` [PATCH v2 1/7] sched: Introduce latency-nice as a per-task attribute Vincent Guittot
2022-05-12 16:35 ` [PATCH v2 2/7] sched/core: Propagate parent task's latency requirements to the child task Vincent Guittot
2022-05-12 16:35 ` [PATCH v2 3/7] sched: Allow sched_{get,set}attr to change latency_nice of the task Vincent Guittot
2022-05-12 16:35 ` [PATCH v2 4/7] sched/core: Add permission checks for setting the latency_nice value Vincent Guittot
2022-05-12 16:35 ` [PATCH v2 5/7] sched/fair: Take into account latency nice at wakeup Vincent Guittot
2022-05-17  0:54   ` Josh Don
2022-05-19 13:55     ` Vincent Guittot
2022-05-19 20:06       ` Josh Don
2022-05-23 12:58         ` Vincent Guittot
2022-05-12 16:35 ` [PATCH v2 6/7] sched/fair: Add sched group latency support Vincent Guittot
2022-05-12 16:35 ` [PATCH v2 7/7] sched/core: support latency nice with sched core Vincent Guittot
2022-05-13  7:12 ` [PATCH v2 0/7] Add latency_nice priority David Laight
2022-05-13 14:29   ` Vincent Guittot
2022-05-13 21:44 ` Tim Chen
2022-05-19 14:16   ` Vincent Guittot
2022-05-19 18:14     ` Chris Hyser
2022-05-20 18:46       ` Tim Chen
2022-05-23 12:52         ` Vincent Guittot
2022-05-23 13:19           ` David Laight
2022-05-15  8:28 [PATCH v2 6/7] sched/fair: Add sched group latency support kernel test robot
2022-05-16 13:06 ` Dan Carpenter
2022-05-16 13:33 ` Vincent Guittot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.