This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] s390: optimize syscall function


On 06/12/2017 03:57 PM, Martin Schwidefsky wrote:
> On Mon, 12 Jun 2017 08:06:36 -0400
> Zack Weinberg <zackw@panix.com> wrote:
> 
>> On Mon, Jun 12, 2017 at 1:49 AM, Martin Schwidefsky
>> <schwidefsky@de.ibm.com> wrote:
>>> On Fri,  9 Jun 2017 13:29:07 +0200
>>> Christian Borntraeger <borntraeger@de.ibm.com> wrote:
>>>  
>>>> Since kernel 2.6.0 all Linux version accept the system call number
>>>> in register 1 for svc 0. There is no need to have special handling
>>>> that uses EX for system calls < 256. This will simplify and speed
>>>> up that code.
>>>>
>>>> A microbenchmark doing "syscall(__NR_getpid);" in a loops gets faster
>>>> by ~12%.
>>>>
>>>>         * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Simplify
>>>>         code by always using SVC 0 instead of EX.
>>>>         * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.
>>>>
>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>> ---
>>>>  sysdeps/unix/sysv/linux/s390/s390-32/syscall.S |   12 +++---------
>>>>  sysdeps/unix/sysv/linux/s390/s390-64/syscall.S |   12 +++---------
>>>>  2 files changed, 6 insertions(+), 18 deletions(-)  
>>>
>>> NAK. E.g. this from glibc:
>>>
>>> sysdeps/unix/sysv/linux/s390/s390-64:  
>>
>> Uh, I believe Christian was proposing to change the exact code you are
>> quoting.  Did you think he was proposing to remove backward
>> compatibility for EX from the kernel-side syscall path?

Exactly, this is a glibc patch :-)
The mimimum kernel version for glibc is high enough, so that the kernel 
will always understand svc 0, which allows us to get rid of ex in glibc
for svc.



> 
> Indeed, I was thinking too much about the kernel side of things. 




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]