From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Weimer Subject: Re: [Question] New mmap64 syscall? Date: Thu, 8 Dec 2016 16:47:34 +0100 Message-ID: <14981df2-b120-17c3-a5a8-5cbbd2008c4f@redhat.com> References: <20161206185440.GA4654@yury-N73SV> <20161207154811.GA15248@yury-N73SV> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org In-Reply-To: <20161207154811.GA15248@yury-N73SV> To: Yury Norov Cc: libc-alpha@sourceware.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Catalin Marinas , szabolcs.nagy@arm.com, heiko.carstens@de.ibm.com, cmetcalf@ezchip.com, philipp.tomsich@theobroma-systems.com, joseph@codesourcery.com, zhouchengming1@huawei.com, Prasun.Kapoor@caviumnetworks.com, agraf@suse.de, geert@linux-m68k.org, kilobyte@angband.pl, manuel.montezelo@gmail.com, arnd@arndb.de, pinskia@gmail.com, linyongting@huawei.com, klimov.linux@gmail.com, broonie@kernel.org, bamvor.zhangjian@huawei.com, linux-arm-kernel@lists.infradead.org, maxim.kuvyrkov@linaro.org, Nathan_Lynch@mentor.com, schwidefsky@de.ibm.com, davem@davemloft.net, christoph.muellner@theobroma-systems.com List-Id: linux-arch.vger.kernel.org On 12/07/2016 04:48 PM, Yury Norov wrote: > On Wed, Dec 07, 2016 at 02:23:55PM +0100, Florian Weimer wrote: >> On 12/06/2016 07:54 PM, Yury Norov wrote: >>> 3. Introduce new mmap64() syscall like this: >>> sys_mmap64(void *addr, size_t len, int prot, int flags, int fd, struct off_pair *off); >>> (The pointer here because otherwise we have 7 args, if simply pass off_hi and >>> off_lo in registers.) >> >> I would prefer a batched mmap/munmap/mremap/mprotect/madvise interface, so >> that VM changes can be coalesced and the output reduced. This interface >> could then be used to implement mmap on 32-bit architectures as well because >> the offset restrictions would not apply there. > > Hi Florian, > > I frankly don't understand what you mean, All syscalls you mentioned > doesn't take off_t or other 64-bit arguments. 'VM changes' - virtual > memory? If so, I don't see any changes in VM with this approach, just > correct handling of big offsets. What I was trying to suggest is a completely different interface which is not subject to register size constraints and which has been requested before (a mechanism for batching mm updates). Thanks, Florian From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:45740 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932267AbcLHPyK (ORCPT ); Thu, 8 Dec 2016 10:54:10 -0500 Subject: Re: [Question] New mmap64 syscall? References: <20161206185440.GA4654@yury-N73SV> <20161207154811.GA15248@yury-N73SV> From: Florian Weimer Message-ID: <14981df2-b120-17c3-a5a8-5cbbd2008c4f@redhat.com> Date: Thu, 8 Dec 2016 16:47:34 +0100 MIME-Version: 1.0 In-Reply-To: <20161207154811.GA15248@yury-N73SV> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Yury Norov Cc: libc-alpha@sourceware.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Catalin Marinas , szabolcs.nagy@arm.com, heiko.carstens@de.ibm.com, cmetcalf@ezchip.com, philipp.tomsich@theobroma-systems.com, joseph@codesourcery.com, zhouchengming1@huawei.com, Prasun.Kapoor@caviumnetworks.com, agraf@suse.de, geert@linux-m68k.org, kilobyte@angband.pl, manuel.montezelo@gmail.com, arnd@arndb.de, pinskia@gmail.com, linyongting@huawei.com, klimov.linux@gmail.com, broonie@kernel.org, bamvor.zhangjian@huawei.com, linux-arm-kernel@lists.infradead.org, maxim.kuvyrkov@linaro.org, Nathan_Lynch@mentor.com, schwidefsky@de.ibm.com, davem@davemloft.net, christoph.muellner@theobroma-systems.com Message-ID: <20161208154734.XHiRkwEF1WeX4VtE-QKB9kxwrPIqIv8RRF9RrbriG2w@z> On 12/07/2016 04:48 PM, Yury Norov wrote: > On Wed, Dec 07, 2016 at 02:23:55PM +0100, Florian Weimer wrote: >> On 12/06/2016 07:54 PM, Yury Norov wrote: >>> 3. Introduce new mmap64() syscall like this: >>> sys_mmap64(void *addr, size_t len, int prot, int flags, int fd, struct off_pair *off); >>> (The pointer here because otherwise we have 7 args, if simply pass off_hi and >>> off_lo in registers.) >> >> I would prefer a batched mmap/munmap/mremap/mprotect/madvise interface, so >> that VM changes can be coalesced and the output reduced. This interface >> could then be used to implement mmap on 32-bit architectures as well because >> the offset restrictions would not apply there. > > Hi Florian, > > I frankly don't understand what you mean, All syscalls you mentioned > doesn't take off_t or other 64-bit arguments. 'VM changes' - virtual > memory? If so, I don't see any changes in VM with this approach, just > correct handling of big offsets. What I was trying to suggest is a completely different interface which is not subject to register size constraints and which has been requested before (a mechanism for batching mm updates). Thanks, Florian