Ah, none of Ubuntu kernels is built with CONFIG_PREEMPT=y - only with PREEMPT_NONE or PREEMPT_VOLUNTARY. That explains why thread above never runs, as there is no cond_resched() in a read_swap_cache_async() loop mentioned above.
Ah, none of Ubuntu kernels is built with CONFIG_PREEMPT=y - only with PREEMPT_NONE or PREEMPT_VOLUNTARY. That explains why thread above never runs, as there is no cond_resched() in a read_swap_ cache_async( ) loop mentioned above.