Re: [External] Re: [PATCH] cpuset: introduce non-blocking cpuset.mems setting option
From: Michal Koutný
Date: Tue Jul 01 2025 - 04:16:53 EST
On Tue, Jun 24, 2025 at 04:11:01PM +0800, Zhongkun He <hezhongkun.hzk@xxxxxxxxxxxxx> wrote:
> The cond_resched() is already there, please have a look in
> migrate_pages_batch().
Thanks, this is enlightening.
> The issue(contention ) lies in the fact that, during page migration, the PTE
> is replaced with a migration_entry(). If a task attempts to access such a page,
> it will be blocked in migration_entry_wait() until the migration completes.
> When a large number of hot pages are involved, this can cause significant
> service disruption due to prolonged blocking.
migration_entry_wait() waits only for a single page (folio?) to be
migrated. How can the number of pages affect the disruption? Or do you
mean that these individual waits add up and the service is generally
slowed down by that? If the migration was spread out over longer time,
the cummulative slowdown would be the same.
Thanks,
Michal
Attachment:
signature.asc
Description: PGP signature