This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 6/6] i386: Remove syscall assembly codes with 6 arguments
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: "Carlos O'Donell" <carlos at redhat dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 15 Oct 2015 04:09:48 -0700
- Subject: Re: [PATCH 6/6] i386: Remove syscall assembly codes with 6 arguments
- Authentication-results: sourceware.org; auth=none
- References: <20151012232041 dot GD8797 at intel dot com> <CAMe9rOq=z5ta3-K7Ljc17bbJ4B0gp50BWP34PKT0dCfZNn0h-w at mail dot gmail dot com> <561E894C dot 1010409 at redhat dot com>
On Wed, Oct 14, 2015 at 9:56 AM, Carlos O'Donell <carlos@redhat.com> wrote:
> On 10/14/2015 08:54 AM, H.J. Lu wrote:
>>> * sysdeps/unix/sysv/linux/i386/Makefile (CFLAGS-epoll_pwait.c):
>>> Add -fomit-frame-pointer.
>>> (CFLAGS-mmap.c): Likewise.
>>> (CFLAGS-mmap64.c): Likewise.
>>> (CFLAGS-semtimedop.c): Likewise.
>>> * sysdeps/unix/sysv/linux/i386/mmap.c: New file.
>>> * sysdeps/unix/sysv/linux/i386/epoll_pwait.S: Remove file.
>>> * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
>>> * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
>>> * sysdeps/unix/sysv/linux/i386/semtimedop.S: Likewise.
>>
>> 3 of 6 patches have been checked in. Here is the updated patch.
>> OK for master?
>
> How did you test this? OK if you did some real network testing
> with this glibc, because nothing tests epoll_pwait in the testsuite.
No, I didn't test epoll_pwait. I compared
sysdeps/unix/sysv/linux/i386/epoll_pwait.S with
sysdeps/unix/sysv/linux/epoll_pwait.c, which is used by x86-64.
The difference is epoll_pwait.c uses SYSCALL_CANCEL and
epoll_pwait.S doesn't support cancellation. Since connect.c
is used by i386 and also uses SYSCALL_CANCEL, I believe
epoll_pwait.c is OK for i386.
> AFAICT we are falling back to sysdeps/unix/sysv/linux/mmap64.c,
> and that's OK. Likewise for epoll_pwait and semtimedop.s.
>
> Verified args, particularly IPCOP_semtimedop match the kernel
> definition, and that the resulting INLINE_SYSCALL looks sane.
IPCOP_semtimedop and SYSOP_semtimedop, which is
used by i386/semtimedop.S as the first argument:
movl $SYSOP_semtimedop, %ebx
are the same:
i386/semtimedop.S:#define SYSOP_semtimedop 4
ipc_priv.h:#define IPCOP_semtimedop 4
m68k/semtimedop.S:#define SYSOP_semtimedop 4
powerpc/ipc_priv.h:#define IPCOP_semtimedop 4
> This looks good to me, and the fallbacks look good too.
>
> OK as long as you tested epoll_pwait.
>
I will leave out epoll_pwait for now and check it in. I will
file a bug since it doesn't support cancellation.
--
H.J.