Re: [RFD PATCH 3/5] sched/cpufreq_schedutil: make worker kthread be SCHED_DEADLINE
From: Juri Lelli
Date: Mon Mar 27 2017 - 13:14:17 EST
On 27/03/17 19:05, Rafael J. Wysocki wrote:
> On Monday, March 27, 2017 06:01:34 PM Juri Lelli wrote:
> > On 27/03/17 18:50, Peter Zijlstra wrote:
> > > On Fri, Mar 24, 2017 at 02:08:58PM +0000, Juri Lelli wrote:
> > > > Worker kthread needs to be able to change frequency for all other
> > > > threads.
> > > >
> > > > Make it special, just under STOP class.
> > >
> > > *yuck* ;-)
> > >
> >
> > Eh, I know. :/
> >
> > > So imagine our I2C/SPI bus is 'busy' and its mutex taken, then this
> > > 'soecial' task will need to boost it. Now add BWI to your thinking and
> > > shudder.
> > >
> >
> > Currently that kthread is FIFO already, so boosting still applies. Not as
> > bad as in the BWI case though. More thinking required.
> >
> > >
> > > On IRC broonie mentioned that:
> > >
> > > - most PMIC operations are fire and forget (no need to wait for a
> > > response).
> > > - PMIC 'packets' are 'small'.
> > > - SPI has the possibility to push stuff on the queue.
> > >
> > > Taken together this seems to suggest we can rework cpufreq drivers to
> > > function in-context, either directly push the packet on the bus if
> > > available, or queue it and let whoever owns it sort it without blocking.
> > >
> > > It might be possible to rework/augment I2C to also support pushing stuff
> > > on a queue.
> > >
> > >
> > > So if we can make all that work, we can do away with this horrible
> > > horrible kthread. Which is, IMO, a much better solution.
> > >
> > > Thoughts?
> >
> > Right. This is more a schedutil (cpufreq) problem though, IMHO. Even if
> > I agree that what you are proposing is way more clean (and here I
> > actually assume it's feasible at all), I fear it will take quite some
> > time to get reworked.
>
> Why do you think so?
>
It simply seemed a major rework to me. :)