Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1407194

Re: [PATCH 01/23] all: syscall wrappers: add documentation

From David Miller <davem@davemloft.net>
Newsgroups linux.kernel
Subject Re: [PATCH 01/23] all: syscall wrappers: add documentation
Date 2016-05-25 22:30 +0200
Message-ID <rCNBf-5mV-3@gated-at.bofh.it> (permalink)
References <rCMOS-4RW-9@gated-at.bofh.it> <rCMOS-4RW-7@gated-at.bofh.it> <rCNBf-5mV-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Yury Norov <ynorov@caviumnetworks.com>
Date: Wed, 25 May 2016 23:03:27 +0300

> On Wed, May 25, 2016 at 12:30:17PM -0700, David Miller wrote:
>> From: Yury Norov <ynorov@caviumnetworks.com>
>> Date: Tue, 24 May 2016 03:04:30 +0300
>> 
>> > +To clear that top halves, automatic wrappers are introduced. They clear all
>> > +required registers before passing control to regular syscall handler.
>> 
>> Why have one of these for every single compat system call, rather than
>> simply clearing the top half of all of these registers unconditionally
>> in the 32-bit system call trap before the system call is invoked?
>> 
>> That's what we do on sparc64.
>> 
>> And with that, you only need wrappers for the case where there needs
>> to be proper sign extention of a 32-bit signed argument.
> 
> It was discussed as one of possible solutions. The downside of it is
> that we cannot pass 64-bit types (like off_t) in single register.

Wrappers can be added for the cases where you'd like to do that.

> The other downside is that we clear top halves for every single
> syscall, and it looks excessive. So, from spark64 and s390 approaches
> we choosed second.

It's like 4 cpu cycles even on crappy sparc64 cpus which only dual
issue. :)

And that's a pretty low cost for the benefits if you ask me.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v6 00/21] ILP32 for ARM64 Yury Norov <ynorov@caviumnetworks.com> - 2016-05-24 02:20 +0200
  [PATCH 05/23] all: wrap needed syscalls in generic unistd Yury Norov <ynorov@caviumnetworks.com> - 2016-05-24 02:30 +0200
  Re: [PATCH v6 00/21] ILP32 for ARM64 Yury Norov <ynorov@caviumnetworks.com> - 2016-05-25 18:50 +0200
  Re: [PATCH 01/23] all: syscall wrappers: add documentation David Miller <davem@davemloft.net> - 2016-05-25 21:40 +0200
    Re: [PATCH 01/23] all: syscall wrappers: add documentation David Miller <davem@davemloft.net> - 2016-05-25 22:30 +0200
      Re: [PATCH 01/23] all: syscall wrappers: add documentation Arnd Bergmann <arnd@arndb.de> - 2016-05-25 22:50 +0200
        Re: [PATCH 01/23] all: syscall wrappers: add documentation David Miller <davem@davemloft.net> - 2016-05-25 23:00 +0200
          Re: [PATCH 01/23] all: syscall wrappers: add documentation Arnd Bergmann <arnd@arndb.de> - 2016-05-25 23:10 +0200
            Re: [PATCH 01/23] all: syscall wrappers: add documentation David Miller <davem@davemloft.net> - 2016-05-25 23:30 +0200
              Re: [PATCH 01/23] all: syscall wrappers: add documentation Catalin Marinas <catalin.marinas@arm.com> - 2016-05-26 16:30 +0200
                Re: [PATCH 01/23] all: syscall wrappers: add documentation Catalin Marinas <catalin.marinas@arm.com> - 2016-05-26 17:20 +0200
                Re: [PATCH 01/23] all: syscall wrappers: add documentation David Miller <davem@davemloft.net> - 2016-05-26 21:50 +0200
                Re: [PATCH 01/23] all: syscall wrappers: add documentation Catalin Marinas <catalin.marinas@arm.com> - 2016-05-27 12:20 +0200
              Re: [PATCH 01/23] all: syscall wrappers: add documentation Catalin Marinas <catalin.marinas@arm.com> - 2016-05-27 00:40 +0200
                Re: [PATCH 01/23] all: syscall wrappers: add documentation Heiko Carstens <heiko.carstens@de.ibm.com> - 2016-05-27 08:10 +0200
                Re: [PATCH 01/23] all: syscall wrappers: add documentation Arnd Bergmann <arnd@arndb.de> - 2016-05-27 10:50 +0200
                Re: [PATCH 01/23] all: syscall wrappers: add documentation Catalin Marinas <catalin.marinas@arm.com> - 2016-05-27 11:40 +0200
                Re: [PATCH 01/23] all: syscall wrappers: add documentation Arnd Bergmann <arnd@arndb.de> - 2016-05-27 13:00 +0200
                Re: [PATCH 01/23] all: syscall wrappers: add documentation Catalin Marinas <catalin.marinas@arm.com> - 2016-05-27 15:10 +0200
                Re: [PATCH 01/23] all: syscall wrappers: add documentation Catalin Marinas <catalin.marinas@arm.com> - 2016-05-27 19:40 +0200
                Re: [PATCH 01/23] all: syscall wrappers: add documentation Catalin Marinas <catalin.marinas@arm.com> - 2016-05-27 11:10 +0200
    Re: [PATCH 01/23] all: syscall wrappers: add documentation Heiko Carstens <heiko.carstens@de.ibm.com> - 2016-05-27 08:00 +0200
  Re: [PATCH 18/23] arm64: ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it Arnd Bergmann <arnd@arndb.de> - 2016-05-25 22:30 +0200

csiph-web