Re: [RFD PATCH 3/5] sched/cpufreq_schedutil: make worker kthread be SCHED_DEADLINE
From: Peter Zijlstra
Date: Mon Mar 27 2017 - 12:51:20 EST
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* ;-)
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.
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?