Thread (28 messages) 28 messages, 8 authors, 2017-01-12

[Question] New mmap64 syscall?

From: Yury Norov <hidden>
Date: 2016-12-07 15:50:12
Also in: linux-arch, lkml

On Wed, Dec 07, 2016 at 02:23:55PM +0100, Florian Weimer wrote:
On 12/06/2016 07:54 PM, Yury Norov wrote:
quoted
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.
This interface
could then be used to implement mmap on 32-bit architectures as well 
This is for 32-bit architectures only. 64 bit arches use
sysdeps/unix/sysv/linux/wordsize-64/mmap.c for both mmap and mmap64,
and they don't need that tricks with off_t. Or you meaning to switch
64-bit mmap to this interface?

Please explain what you mean in details.

Yury
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help