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?

