Re: [PATCH 03/10] mm/migrate: update node demotion order during on hotplug events

From: Dave Hansen
Date: Tue Mar 09 2021 - 17:09:00 EST


On 3/8/21 4:03 PM, Yang Shi wrote:
>> +static int __meminit migrate_on_reclaim_callback(struct notifier_block *self,
>> + unsigned long action, void *arg)
>> +{
>> + switch (action) {
>> + case MEM_GOING_OFFLINE:
>> + /*
>> + * Make sure there are not transient states where
>> + * an offline node is a migration target. This
>> + * will leave migration disabled until the offline
>> + * completes and the MEM_OFFLINE case below runs.
>> + */
>> + disable_all_migrate_targets();
>> +
>> + /*
>> + * Ensure the disable operation is globally visible.
>> + * This avoids readers ever being able to
>> + * simultaneously observe the old (pre-hotplug) and
>> + * new (post-hotplug) migration targets.
>> + */
>> + synchronize_rcu();
> It seems disable_all_migrate_targets() already has synchronize_rcu()
> called. We don't need to call it twice. Otherwise, it looks good to
> me. Reviewed-by: Yang Shi <shy828301@xxxxxxxxx>

Thanks for noticing that. I've fixed it up.