[PATCH] s390: optimize syscall function

Stefan Liebler stli@linux.vnet.ibm.com
Mon Jun 19 09:03:00 GMT 2017


On 06/19/2017 09:03 AM, Christian Borntraeger wrote:
> 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.
> 
> 
> 

This patch is okay.
Committed.

Thanks.
Stefan



More information about the Libc-alpha mailing list