JATtho , (edited )

I agree that UI should always take priority. I shouldn't have to do anything to guarantee this.

I have HZ_1000, tickless kernel with nohz_full set up. This all has a throughput/bandwidth cost (about 2%) in exchange for better responsiveness by default.

But this is not enough, because the short burst UI tasks need near-zero wake-up latency... By the time the task scheduler has done its re-balancing the UI task is already sleeping/halted again, and this cycle repeats. So the nice/priorities don't work very well for UI tasks. Only way a UI task can run immediately is if it can preempt something or if the system has a somewhat idle CPU to put it on.

The kernel doesn't know any better which tasks are like this. The on-going EEVDF, sched_ext scheduler projects attempt to improve the situation. (EEVDF should allow specifying the desired latency, while sched_ext will likely allow tuning the latency automatically)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • linux@programming.dev
  • test
  • worldmews
  • mews
  • All magazines