linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] Add LD_NUMA_REPLICATION for glibc
       [not found] ` <87bl5a6ul2.fsf@oldenburg.str.redhat.com>
@ 2021-09-03 15:15   ` Huang Shijie
  2021-09-03 22:16     ` Song Bao Hua (Barry Song)
  0 siblings, 1 reply; 3+ messages in thread
From: Huang Shijie @ 2021-09-03 15:15 UTC (permalink / raw)
  To: Florian Weimer
  Cc: Huang Shijie via Libc-alpha, carlos, zwang, patches, akpm,
	torvalds, viro, willy, song.bao.hua, linux-mm

On Fri, Sep 03, 2021 at 08:28:57AM +0200, Florian Weimer wrote:
> * Huang Shijie via Libc-alpha:
> 
> > This patch adds LD_NUMA_REPLICATION which influences the linkage of shared libraries at run time.
> >
> > If LD_NUMA_REPLICATION is set for program foo like this:
> > 	#LD_NUMA_REPLICATION=1 ./foo
> >
> > At the time ld.so mmaps the shared libraries, it will uses
> > 	mmap(, c->prot | PROT_WRITE, MAP_COPY | MAP_FILE | MAP_POPULATE,)
> > for them, and the mmap will trigger COW(copy on write) for the shared
> > libraries at the NUMA node which the program `foo` runs. After the
> > COW, the foo will have a copy of the shared library segment(mmap
> > covered) which belong to the same NUMA node.
> >
> > So when enable LD_NUMA_REPLICATION, it will consume more memory,
> > but it will reduce the remote-access in NUMA.
> 
> I think the kernel could do this in a much better way, avoiding
> duplicating the pages within the same NUMA node.
I think maybe only the per-NUMA-node page cache can avoid it..

> 
> The other issue is the temporary RWX mapping, which does not
> interoperate well with some security hardening features.
> 
Thanks for the feedback.
I CC more people who may  have interesting about this.


Thanks
Huang Shijie


^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH] Add LD_NUMA_REPLICATION for glibc
  2021-09-03 15:15   ` [PATCH] Add LD_NUMA_REPLICATION for glibc Huang Shijie
@ 2021-09-03 22:16     ` Song Bao Hua (Barry Song)
  2021-09-06  9:14       ` Huang Shijie
  0 siblings, 1 reply; 3+ messages in thread
From: Song Bao Hua (Barry Song) @ 2021-09-03 22:16 UTC (permalink / raw)
  To: Huang Shijie, Florian Weimer
  Cc: Huang Shijie via Libc-alpha, carlos, zwang, patches, akpm,
	torvalds, viro, willy, linux-mm



> -----Original Message-----
> From: Huang Shijie [mailto:shijie@os.amperecomputing.com]
> Sent: Saturday, September 4, 2021 3:16 AM
> To: Florian Weimer <fweimer@redhat.com>
> Cc: Huang Shijie via Libc-alpha <libc-alpha@sourceware.org>;
> carlos@systemhalted.org; zwang@amperecomputing.com;
> patches@amperecomputing.com; akpm@linux-foundation.org;
> torvalds@linux-foundation.org; viro@zeniv.linux.org.uk; willy@infradead.org;
> Song Bao Hua (Barry Song) <song.bao.hua@hisilicon.com>; linux-mm@kvack.org
> Subject: Re: [PATCH] Add LD_NUMA_REPLICATION for glibc
> 
> On Fri, Sep 03, 2021 at 08:28:57AM +0200, Florian Weimer wrote:
> > * Huang Shijie via Libc-alpha:
> >
> > > This patch adds LD_NUMA_REPLICATION which influences the linkage of shared
> libraries at run time.
> > >
> > > If LD_NUMA_REPLICATION is set for program foo like this:
> > > 	#LD_NUMA_REPLICATION=1 ./foo
> > >
> > > At the time ld.so mmaps the shared libraries, it will uses
> > > 	mmap(, c->prot | PROT_WRITE, MAP_COPY | MAP_FILE | MAP_POPULATE,)
> > > for them, and the mmap will trigger COW(copy on write) for the shared
> > > libraries at the NUMA node which the program `foo` runs. After the
> > > COW, the foo will have a copy of the shared library segment(mmap
> > > covered) which belong to the same NUMA node.
> > >
> > > So when enable LD_NUMA_REPLICATION, it will consume more memory,
> > > but it will reduce the remote-access in NUMA.
> >
> > I think the kernel could do this in a much better way, avoiding
> > duplicating the pages within the same NUMA node.
> I think maybe only the per-NUMA-node page cache can avoid it..
> 
> >
> > The other issue is the temporary RWX mapping, which does not
> > interoperate well with some security hardening features.
> >
> Thanks for the feedback.
> I CC more people who may  have interesting about this.
> 

Hi Shijie,
Thanks!

Could we have some benchmark data for this patch? I assume it
will benefit frontend-bound large workset which might face
relatively more icache miss?

> 
> Thanks
> Huang Shijie

Thanks
Barry



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Add LD_NUMA_REPLICATION for glibc
  2021-09-03 22:16     ` Song Bao Hua (Barry Song)
@ 2021-09-06  9:14       ` Huang Shijie
  0 siblings, 0 replies; 3+ messages in thread
From: Huang Shijie @ 2021-09-06  9:14 UTC (permalink / raw)
  To: Song Bao Hua (Barry Song)
  Cc: Florian Weimer, Huang Shijie via Libc-alpha, carlos, zwang,
	patches, akpm, torvalds, viro, willy, linux-mm

Hi Barry,
On Fri, Sep 03, 2021 at 10:16:14PM +0000, Song Bao Hua (Barry Song) wrote:
> Could we have some benchmark data for this patch? I assume it
> will benefit frontend-bound large workset which might face
> relatively more icache miss?
I did not find a proper program for the benchmark test..

Thanks
Huang Shijie


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-09-06  1:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20210903121434.12162-1-shijie@os.amperecomputing.com>
     [not found] ` <87bl5a6ul2.fsf@oldenburg.str.redhat.com>
2021-09-03 15:15   ` [PATCH] Add LD_NUMA_REPLICATION for glibc Huang Shijie
2021-09-03 22:16     ` Song Bao Hua (Barry Song)
2021-09-06  9:14       ` Huang Shijie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox