[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