Re: [PATCH 0/6] mm, sched, cgroup: LRU Cache never drains when isolcpus are used with spinning SCHED_FIFO tasks causing page migration stalls

From: Tejun Heo

Date: Tue Nov 03 2026 - 10:34:57 EST


Hello,

On Tue, Nov 03, 2026 at 08:59:34PM +1300, Matthew Ruffell wrote:
...
> isolcpus=nohz,18-95,108-178 nohz_full=18-95,108-178 rcu_nocbs=18-95,108-178
> rcu_nocb_poll skew_tick=1 nosmt=force idle=poll numa_balancing=disable
> transparent_hugepage=never audit=0 nmi_watchdog=0 nowatchdog mce=ignore_ce
> tsc=reliable clocksource=tsc

We should get rid of fine grained isolation control. This is such a footgun
and ties implementation details to interface too tightly.

...
> What happens is that the spinning SCHED_FIFO processes running on isolcpus are
> constantly dirtying the LRU cache, and when we attempt NUMA migration of the
> 50GB of pages, systemd calls flush_migrate_mm_task_workfn() which creates a
> kworker that calls cpuset_migrate_mm_workfn() then do_migrate_pages() then
> lru_cache_disable(), and then __lru_add_drain_all(). __lru_add_drain_all() then
> creates a kworker on each CPU to drain the LRU cache, and systemd and the
> initial kworker wait until this is done on all CPUs.

I suppose you have fair deadline server disabled?

Thanks.

--
tejun