All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: "Paul E. McKenney" <paulmck@kernel.org>
Cc: mingo@kernel.org, linux-kernel@vger.kernel.org,
	tglx@linutronix.de, rostedt@goodmis.org, qais.yousef@arm.com,
	juri.lelli@redhat.com, vincent.guittot@linaro.org,
	dietmar.eggemann@arm.com, bsegall@google.com, mgorman@suse.de,
	airlied@redhat.com, alexander.deucher@amd.com,
	awalls@md.metrocast.net, axboe@kernel.dk, broonie@kernel.org,
	daniel.lezcano@linaro.org, gregkh@linuxfoundation.org,
	hannes@cmpxchg.org, herbert@gondor.apana.org.au,
	hverkuil@xs4all.nl, john.stultz@linaro.org, nico@fluxnic.net,
	rafael.j.wysocki@intel.com, rmk+kernel@arm.linux.org.uk,
	sudeep.holla@arm.com, ulf.hansson@linaro.org,
	wim@linux-watchdog.org
Subject: Re: [PATCH 01/23] sched: Provide sched_set_fifo()
Date: Wed, 22 Apr 2020 15:26:48 +0200	[thread overview]
Message-ID: <20200422132648.GJ20730@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <20200422131138.GL17661@paulmck-ThinkPad-P72>

On Wed, Apr 22, 2020 at 06:11:38AM -0700, Paul E. McKenney wrote:
> On Wed, Apr 22, 2020 at 01:27:20PM +0200, Peter Zijlstra wrote:
> > SCHED_FIFO (or any static priority scheduler) is a broken scheduler
> > model; it is fundamentally incapable of resource management, the one
> > thing an OS is actually supposed to do.
> > 
> > It is impossible to compose static priority workloads. One cannot take
> > two well designed and functional static priority workloads and mash
> > them together and still expect them to work.
> > 
> > Therefore it doesn't make sense to expose the priority field; the
> > kernel is fundamentally incapable of setting a sensible value, it
> > needs systems knowledge that it doesn't have.
> > 
> > Take away sched_setschedule() / sched_setattr() from modules and
> > replace them with:
> > 
> >   - sched_set_fifo(p); create a FIFO task (at prio 50)
> >   - sched_set_fifo_low(p); create a task higher than NORMAL,
> > 	which ends up being a FIFO task at prio 1.
> >   - sched_set_normal(p, nice); (re)set the task to normal
> > 
> > This stops the proliferation of randomly chosen, and irrelevant, FIFO
> > priorities that dont't really mean anything anyway.
> > 
> > The system administrator/integrator, whoever has insight into the
> > actual system design and requirements (userspace) can set-up
> > appropriate priorities if and when needed.
> 
> The sched_setscheduler_nocheck() calls in rcu_spawn_gp_kthread(),
> rcu_cpu_kthread_setup(), and rcu_spawn_one_boost_kthread() all stay as
> is because they all use the rcutree.kthread_prio boot parameter, which is
> set at boot time by the system administrator (or {who,what}ever, correct?

Correct, also they are not modular afaict, so they escaped the dance ;-)



  reply	other threads:[~2020-04-22 13:27 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-22 11:27 [PATCH 00/23] sched: Remove FIFO priorities from modules Peter Zijlstra
2020-04-22 11:27 ` [PATCH 01/23] sched: Provide sched_set_fifo() Peter Zijlstra
2020-04-22 13:11   ` Paul E. McKenney
2020-04-22 13:26     ` Peter Zijlstra [this message]
2020-04-22 15:50       ` Paul E. McKenney
2020-04-22 16:33         ` Steven Rostedt
2020-04-22 16:40           ` Paul E. McKenney
2020-04-22 16:46             ` Steven Rostedt
2020-04-22 17:45               ` Paul E. McKenney
2020-04-22 15:50   ` Paul E. McKenney
2020-04-27 17:04   ` Qais Yousef
2020-04-22 11:27 ` [PATCH 02/23] sched,bL_switcher: Convert to sched_set_fifo*() Peter Zijlstra
2020-04-22 13:27   ` Nicolas Pitre
2020-04-22 11:27 ` [PATCH 03/23] sched,crypto: " Peter Zijlstra
2020-04-22 13:33   ` Herbert Xu
2020-04-22 11:27 ` [PATCH 04/23] sched,acpi_pad: " Peter Zijlstra
2020-04-22 16:45   ` Dietmar Eggemann
2020-04-23  8:46     ` Peter Zijlstra
2020-04-22 11:27 ` [PATCH 05/23] sched,drbd: " Peter Zijlstra
2020-04-23  8:57   ` Peter Zijlstra
2020-06-13  9:56     ` [Drbd-dev] [PATCH 05/23] sched, drbd: " Peter Zijlstra
2020-04-22 11:27 ` [PATCH 06/23] sched,psci: " Peter Zijlstra
2020-04-22 11:55   ` Valentin Schneider
2020-04-22 14:06   ` Sudeep Holla
2020-04-27 16:35   ` Qais Yousef
2020-04-27 16:58     ` Valentin Schneider
2020-04-22 11:27 ` [PATCH 07/23] sched,msm: " Peter Zijlstra
2020-04-22 11:27 ` [PATCH 08/23] sched,drm/scheduler: " Peter Zijlstra
2020-04-22 11:27 ` [PATCH 09/23] sched,ivtv: " Peter Zijlstra
2020-04-22 12:53   ` Steven Rostedt
2020-04-22 13:26     ` Peter Zijlstra
2020-04-24  9:58   ` Hans Verkuil
2020-04-22 11:27 ` [PATCH 10/23] sched,mmc: " Peter Zijlstra
2020-04-22 16:59   ` Ulf Hansson
2020-04-23  8:59     ` Peter Zijlstra
2020-04-23 12:01       ` Ulf Hansson
2020-04-22 11:27 ` [PATCH 11/23] sched,spi: " Peter Zijlstra
2020-04-22 13:56   ` Mark Brown
2020-04-22 14:35     ` Doug Anderson
2020-04-22 15:47       ` Guenter Roeck
2020-04-22 16:41         ` Doug Anderson
2020-04-22 20:16           ` Guenter Roeck
2020-04-22 11:27 ` [PATCH 12/23] sched,powercap: " Peter Zijlstra
2020-04-22 11:27 ` [PATCH 13/23] sched,ion: Convert to sched_set_normal() Peter Zijlstra
2020-04-22 13:21   ` Vincent Guittot
2020-04-22 13:29     ` Peter Zijlstra
2020-04-22 13:36       ` Vincent Guittot
2020-04-22 13:59         ` Peter Zijlstra
2020-04-22 15:09           ` Vincent Guittot
2020-04-22 15:39             ` Peter Zijlstra
2020-04-22 15:52               ` Vincent Guittot
2020-04-22 15:38           ` Juri Lelli
2020-04-22 15:42             ` Peter Zijlstra
2020-04-22 11:27 ` [PATCH 14/23] sched,powerclamp: Convert to sched_set_fifo() Peter Zijlstra
2020-04-22 11:27 ` [PATCH 15/23] sched,serial: " Peter Zijlstra
2020-04-22 11:27 ` [PATCH 16/23] sched,watchdog: " Peter Zijlstra
2020-04-22 12:51   ` Steven Rostedt
2020-04-22 13:24     ` Peter Zijlstra
2025-05-16  8:42       ` Christophe Leroy
2025-05-16 12:42         ` Peter Zijlstra
2020-04-22 11:27 ` [PATCH 17/23] sched,irq: " Peter Zijlstra
2020-04-22 11:39   ` Peter Zijlstra
2020-04-22 11:27 ` [PATCH 18/23] sched,locktorture: " Peter Zijlstra
2020-04-22 15:51   ` Paul E. McKenney
2020-04-22 11:27 ` [PATCH 19/23] sched,rcuperf: Convert to sched_set_fifo_low() Peter Zijlstra
2020-04-22 15:51   ` Paul E. McKenney
2020-04-22 11:27 ` [PATCH 20/23] sched,rcutorture: " Peter Zijlstra
2020-04-22 15:51   ` Paul E. McKenney
2020-04-22 11:27 ` [PATCH 21/23] sched,psi: " Peter Zijlstra
2020-04-22 15:22   ` Johannes Weiner
2020-04-22 11:27 ` [PATCH 22/23] sched: Remove sched_setscheduler*() EXPORTs Peter Zijlstra
2020-04-22 11:27 ` [PATCH 23/23] sched: Remove sched_set_*() return value Peter Zijlstra
2020-04-22 14:25   ` Ingo Molnar
2020-04-22 16:16   ` Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200422132648.GJ20730@hirez.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=airlied@redhat.com \
    --cc=alexander.deucher@amd.com \
    --cc=awalls@md.metrocast.net \
    --cc=axboe@kernel.dk \
    --cc=broonie@kernel.org \
    --cc=bsegall@google.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=dietmar.eggemann@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=hverkuil@xs4all.nl \
    --cc=john.stultz@linaro.org \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@kernel.org \
    --cc=nico@fluxnic.net \
    --cc=paulmck@kernel.org \
    --cc=qais.yousef@arm.com \
    --cc=rafael.j.wysocki@intel.com \
    --cc=rmk+kernel@arm.linux.org.uk \
    --cc=rostedt@goodmis.org \
    --cc=sudeep.holla@arm.com \
    --cc=tglx@linutronix.de \
    --cc=ulf.hansson@linaro.org \
    --cc=vincent.guittot@linaro.org \
    --cc=wim@linux-watchdog.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.