linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Huang\, Ying" <ying.huang@intel.com>
To: Mel Gorman <mgorman@suse.de>
Cc: Peter Zijlstra <peterz@infradead.org>, <linux-mm@kvack.org>,
	<linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@redhat.com>, Rik van Riel <riel@surriel.com>,
	"Johannes Weiner" <hannes@cmpxchg.org>,
	"Matthew Wilcox \(Oracle\)" <willy@infradead.org>,
	Dave Hansen <dave.hansen@intel.com>,
	Andi Kleen <ak@linux.intel.com>, Michal Hocko <mhocko@suse.com>,
	David Rientjes <rientjes@google.com>
Subject: Re: [RFC -V5] autonuma: Migrate on fault among multiple bound nodes
Date: Thu, 19 Nov 2020 16:02:48 +0800	[thread overview]
Message-ID: <874kllvknr.fsf@yhuang-dev.intel.com> (raw)
In-Reply-To: <20201119075052.GF3306@suse.de> (Mel Gorman's message of "Thu, 19 Nov 2020 07:50:52 +0000")

Mel Gorman <mgorman@suse.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

      reply	other threads:[~2020-11-19  8:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-18  5:19 [RFC -V5] autonuma: Migrate on fault among multiple bound nodes Huang Ying
2020-11-18  9:56 ` Mel Gorman
2020-11-19  6:17   ` Huang, Ying
2020-11-19  7:50     ` Mel Gorman
2020-11-19  8:02       ` Huang, Ying [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874kllvknr.fsf@yhuang-dev.intel.com \
    --to=ying.huang@intel.com \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=dave.hansen@intel.com \
    --cc=hannes@cmpxchg.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=mhocko@suse.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=riel@surriel.com \
    --cc=rientjes@google.com \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).