lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 22 Apr 2020 08:50:06 -0700
From:   "Paul E. McKenney" <paulmck@...nel.org>
To:     Peter Zijlstra <peterz@...radead.org>
Cc:     mingo@...nel.org, linux-kernel@...r.kernel.org, tglx@...utronix.de,
        rostedt@...dmis.org, qais.yousef@....com, juri.lelli@...hat.com,
        vincent.guittot@...aro.org, dietmar.eggemann@....com,
        bsegall@...gle.com, mgorman@...e.de, airlied@...hat.com,
        alexander.deucher@....com, awalls@...metrocast.net,
        axboe@...nel.dk, broonie@...nel.org, daniel.lezcano@...aro.org,
        gregkh@...uxfoundation.org, hannes@...xchg.org,
        herbert@...dor.apana.org.au, hverkuil@...all.nl,
        john.stultz@...aro.org, nico@...xnic.net,
        rafael.j.wysocki@...el.com, rmk+kernel@....linux.org.uk,
        sudeep.holla@....com, ulf.hansson@...aro.org,
        wim@...ux-watchdog.org
Subject: Re: [PATCH 01/23] sched: Provide sched_set_fifo()

On Wed, Apr 22, 2020 at 03:26:48PM +0200, Peter Zijlstra wrote:
> 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 ;-)

Indeed, an extreme form of insanity would be required to try to make core
RCU be a module.  Not that such a form of insanity is a bad thing in and
of itself, but it might best be directed towards less futile ventures.  ;-)

							Thanx, Paul

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ