This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: [OMPI devel] [PATCH v5 0/4] vm: add a syscall to map a process memory into a pipe
- From: Mike Rapoport <rppt at linux dot vnet dot ibm dot com>
- To: Nathan Hjelm <hjelmn at me dot com>
- Cc: Open MPI Developers <devel at lists dot open-mpi dot org>, Andrei Vagin <avagin at openvz dot org>, Arnd Bergmann <arnd at arndb dot de>, Jann Horn <jannh at google dot com>, rr-dev at mozilla dot org, linux-api at vger dot kernel dot org, linux-kernel at vger dot kernel dot org, Josh Triplett <josh at joshtriplett dot org>, criu at openvz dot org, linux-mm at kvack dot org, gdb at sourceware dot org, Alexander Viro <viro at zeniv dot linux dot org dot uk>, Greg KH <gregkh at linuxfoundation dot org>, linux-fsdevel at vger dot kernel dot org, Andrew Morton <akpm at linux-foundation dot org>, Thomas Gleixner <tglx at linutronix dot de>, Michael Kerrisk <mtk dot manpages at gmail dot com>
- Date: Tue, 27 Feb 2018 09:10:20 +0200
- Subject: Re: [OMPI devel] [PATCH v5 0/4] vm: add a syscall to map a process memory into a pipe
- Authentication-results: sourceware.org; auth=none
- References: <1515479453-14672-1-git-send-email-rppt@linux.vnet.ibm.com> <20180220164406.3ec34509376f16841dc66e34@linux-foundation.org> <3122ec5a-7f73-f6b4-33ea-8c10ef32e5b0@virtuozzo.com> <B9A6330F-48FE-4260-A505-3FF043874F0F@me.com>
On Mon, Feb 26, 2018 at 09:38:19AM -0700, Nathan Hjelm wrote:
> All MPI implementations have support for using CMA to transfer data
> between local processes. The performance is fairly good (not as good as
> XPMEM) but the interface limits what we can do with to remote process
> memory (no atomics). I have not heard about this new proposal. What is
> the benefit of the proposed calls over the existing calls?
The proposed system call call that combines functionality of
process_vm_read and vmsplice [1] and it's particularly useful when one
needs to read the remote process memory and then write it to a file
descriptor. In this case a sequence of process_vm_read() + write() calls
that involves two copies of data can be replaced with process_vm_splice() +
splice() which does not involve copy at all.
[1] https://lkml.org/lkml/2018/1/9/32
> -Nathan
>
> > On Feb 26, 2018, at 2:02 AM, Pavel Emelyanov <xemul@virtuozzo.com> wrote:
> >
> > On 02/21/2018 03:44 AM, Andrew Morton wrote:
> >> On Tue, 9 Jan 2018 08:30:49 +0200 Mike Rapoport <rppt@linux.vnet.ibm.com> wrote:
> >>
> >>> This patches introduces new process_vmsplice system call that combines
> >>> functionality of process_vm_read and vmsplice.
> >>
> >> All seems fairly strightforward. The big question is: do we know that
> >> people will actually use this, and get sufficient value from it to
> >> justify its addition?
> >
> > Yes, that's what bothers us a lot too :) I've tried to start with finding out if anyone
> > used the sys_read/write_process_vm() calls, but failed :( Does anybody know how popular
> > these syscalls are? If its users operate on big amount of memory, they could benefit from
> > the proposed splice extension.
> >
> > -- Pavel
--
Sincerely yours,
Mike.