[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <874kllvknr.fsf@yhuang-dev.intel.com>
Date: Thu, 19 Nov 2020 16:02:48 +0800
From: "Huang\, Ying" <ying.huang@...el.com>
To: Mel Gorman <mgorman@...e.de>
Cc: Peter Zijlstra <peterz@...radead.org>, <linux-mm@...ck.org>,
<linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Ingo Molnar <mingo@...hat.com>,
Rik van Riel <riel@...riel.com>,
"Johannes Weiner" <hannes@...xchg.org>,
"Matthew Wilcox \(Oracle\)" <willy@...radead.org>,
Dave Hansen <dave.hansen@...el.com>,
Andi Kleen <ak@...ux.intel.com>,
Michal Hocko <mhocko@...e.com>,
David Rientjes <rientjes@...gle.com>
Subject: Re: [RFC -V5] autonuma: Migrate on fault among multiple bound nodes
Mel Gorman <mgorman@...e.de> writes:
> On Thu, Nov 19, 2020 at 02:17:21PM +0800, Huang, Ying wrote:
>> >> Various page placement optimization based on the NUMA balancing can be
>> >> done with these flags. As the first step, in this patch, if the
>> >> memory of the application is bound to multiple nodes (MPOL_BIND), and
>> >> in the hint page fault handler the accessing node are in the policy
>> >> nodemask, the page will be tried to be migrated to the accessing node
>> >> to reduce the cross-node accessing.
>> >>
>> >
>> > The patch still lacks supporting data. It really should have a basic
>> > benchmark of some sort serving as an example of how the policies should
>> > be set and a before/after comparison showing the throughput of MPOL_BIND
>> > accesses spanning 2 or more nodes is faster when numa balancing is enabled.
>>
>> Sure. Will add some basic benchmark data and usage example.
>>
>
> Thanks
>
>> > A man page update should also be added clearly outlining when an
>> > application should consider using it with the linux-api people cc'd
>> > for review.
>>
>> Yes. Will Cc linux-api for review and will submit patches to
>> manpages.git after the API is finalized.
>>
>
> Add the manpages patch to this series. While it is not merged through
> the kernel, it's important for review purposes.
>
>> > The main limitation is that if this requires application modification,
>> > it may never be used. For example, if an application uses openmp places
>> > that translates into bind then openmp needs knowledge of the flag.
>> > Similar limitations apply to MPI. This feature has a risk that no one
>> > uses it.
>>
>> My plan is to add a new option to `numactl`
>> (https://github.com/numactl/numactl/), so users who want to enable NUMA
>> balancing within the constrains of NUMA binding can use that. I can
>> reach some Openstack and Kubernate developers to check whether it's
>> possible to add the support to these software. For other applications,
>> Yes, it may take long time for the new flag to be used.
>>
>
> Patch for numactl should also be included to see what it looks like in
> practice. Document what happens if the flag does not exist in the
> running kernel.
>
> I know this is awkward, but it's an interface exposed to userspace and
> as it is expected that applications will exist that then try run on
> older kernels, it needs to be very up-front about what happens on older
> kernels. It would not be a complete surprise for openmp and openmpi
> packages to be updated on distributions with older kernels (either by
> source or via packaging) leading to surprises.
Sure. I understand that we should be careful about the user space
interface. I will send out a new version together with the man pages
and numactl patches with all your comments addressed.
Best Regards,
Huang, Ying
Powered by blists - more mailing lists