[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <e03e62e2-54fa-b0ce-0b58-5db7393f8e3c@linux.vnet.ibm.com>
Date: Tue, 31 Jan 2017 10:06:22 +0530
From: Anshuman Khandual <khandual@...ux.vnet.ibm.com>
To: Dave Hansen <dave.hansen@...el.com>,
Anshuman Khandual <khandual@...ux.vnet.ibm.com>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Cc: mhocko@...e.com, vbabka@...e.cz, mgorman@...e.de,
minchan@...nel.org, aneesh.kumar@...ux.vnet.ibm.com,
bsingharora@...il.com, srikar@...ux.vnet.ibm.com,
haren@...ux.vnet.ibm.com, jglisse@...hat.com,
dan.j.williams@...el.com
Subject: Re: [RFC V2 12/12] mm: Tag VMA with VM_CDM flag explicitly during
mbind(MPOL_BIND)
On 01/30/2017 11:24 PM, Dave Hansen wrote:
> On 01/29/2017 07:35 PM, Anshuman Khandual wrote:
>> + if ((new_pol->mode == MPOL_BIND)
>> + && nodemask_has_cdm(new_pol->v.nodes))
>> + set_vm_cdm(vma);
> So, if you did:
>
> mbind(addr, PAGE_SIZE, MPOL_BIND, all_nodes, ...);
> mbind(addr, PAGE_SIZE, MPOL_BIND, one_non_cdm_node, ...);
>
> You end up with a VMA that can never have KSM done on it, etc... Even
> though there's no good reason for it. I guess /proc/$pid/smaps might be
> able to help us figure out what was going on here, but that still seems
> like an awful lot of damage.
Agreed, this VMA should not remain tagged after the second call. It does
not make sense. For this kind of scenarios we can re-evaluate the VMA
tag every time the nodemask change is attempted. But if we are looking for
some runtime re-evaluation then we need to steal some cycles are during
general VMA processing opportunity points like merging and split to do
the necessary re-evaluation. Should do we do these kind two kinds of
re-evaluation to be more optimal ?
Powered by blists - more mailing lists