Messages in this thread | | | From | David Laight <> | Subject | RE: 5.19 printk breaks message ordering | Date | Sun, 19 Jun 2022 14:24:26 +0000 |
| |
From: John Ogness > Sent: 19 June 2022 09:16 > > On 2022-06-17, David Laight <David.Laight@ACULAB.COM> wrote: > > What priority do these kthreads run at? > > 120 (SCHED_OTHER, nice=0) > > > I'd have thought they ought to run at a high priority? > > That should tend to give kernel messages priority over user ones. > > > > Quite how high is another matter. > > Probably a bit below the RT/FIFO:50 of threaded ISR. > > As a default value, I recommend keeping to the SCHED_OTHER policy as a > default. Perhaps a nice value of -20? There are quite a few kernel > threads using that as their default:
That doesn't mean it is a sensible priority :-)
Running at (SCHED_OTHER, nice=0) is almost certainly worse. There is little guarantee they'll run if the system is busy and has non-default priority user threads.
I know there is the NIBY style 'my process is more important than yours' But processes that don't run for very long, or have to run in order to keep the system working properly, almost certainly need to be higher priority than the lowest RT one.
I've been fighting system thread priorities on a system that is doing a lot of real time audio over UDP (ie RTP). The application threads processing the RTP need to run in preference to all other application threads (nothing else is that time critical). Processor affinities don't help - they can only really be used to move things away from some cpu, and I need to use the idle time. Running the RTP threads at a RT priority works reasonably well except that some system threads (like the softint ones napi uses) get blocked - causing lost packets. Threaded napi helps - but only if I run the threads under the RT scheduler.
David
> > # ps -Leo ni,command | grep ^-20 | sort > -20 [acpi_thermal_pm] > -20 [ata_sff] > -20 [blkcg_punt_bio] > -20 [cfg80211] > -20 [inet_frag_wq] > -20 [ipv6_addrconf] > -20 [kblockd] > -20 [kworker/0:0H-events_highpri] > -20 [kworker/0:1H-events_highpri] > -20 [md] > -20 [mld] > -20 [mm_percpu_wq] > -20 [netns] > -20 [nfsiod] > -20 [rcu_gp] > -20 [rcu_par_gp] > -20 [rpciod] > -20 [scsi_tmf_0] > -20 [scsi_tmf_1] > -20 [writeback] > -20 [xprtiod] > > John Ogness
- Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
| |