Re: [PATCH] mm: migrate: restore the nmask after successfully allocating on the target node
From: Simon Wang (王传国)
Date: Mon Mar 31 2025 - 20:49:04 EST
> >
> > > On Wed, Mar 26, 2025 at 11:12:18AM +0800, wangchuanguo wrote:
> > > > If memory is successfully allocated on the target node and the
> > > > function directly returns without value restore for nmask,
> > > > non-first migration operations in migrate_pages() by again label
> > > > may ignore the nmask settings, thereby allowing new memory
> > > > allocations for migration on any node.
> > >
> > > I have no opinion on whether this is the right thing to do or not,
> > > but if it is
> > >
> >
> > I don't think so. When memory allocation fails on the target node, there is
> already a recovery operation for the nmask value below. Therefore, the nmask
> value should only be restored when memory allocation is successfully
> completed on the target node.
>
> But that is not what the code is doing, is it? With the changes applied I mean.
> You are restoring mtc->nmask in case you managed to allocate for
> __GFP_THISNODE and after you clear the flag, so we might as well do it just
> once at the beginning after calling alloc_migration_target for the first time.
>
>
> --
> Oscar Salvador
> SUSE Labs
Yes, you're right. My apologies—I overlooked a line of code earlier.