From: Sebastian Andrzej Siewior > Sent: 09 June 2022 16:03 > > On 2022-05-30 16:15:11 [-0700], Davidlohr Bueso wrote: > > Tasklets have long been deprecated as being too heavy on the system > > by running in irq context - and this is not a performance critical > > path. If a higher priority process wants to run, it must wait for > > the tasklet to finish before doing so. > > > > Process srps asynchronously in process context in a dedicated > > single threaded workqueue. > > I would suggest threaded interrupts instead. The pattern here is the > same as in the previous driver except here is less locking. How long do these actions runs for, and what is waiting for them to finish? These changes seem to drop the priority from above that of the highest priority RT process down to that of a default priority user process. There is no real guarantee that the latter will run 'any time soon'. Consider some workloads I'm setting up where most of the cpu are likely to spend 90%+ of the time running processes under the RT scheduler that are processing audio. It is quite likely that a non-RT thread (especially one bound to a specific cpu) won't run for several milliseconds. (We have to go through 'hoops' to avoid dropping ethernet frames.) I'd have thought that some of these kernel threads really need to run at a 'middling' RT priority. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)