[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070427141941.a7891c62.akpm@linux-foundation.org>
Date: Fri, 27 Apr 2007 14:19:41 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Davide Libenzi <davidel@...ilserver.org>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ingo Molnar <mingo@...e.hu>,
Suparna Bhattacharya <suparna@...ibm.com>,
Zach Brown <zach.brown@...cle.com>,
Benjamin LaHaise <bcrl@...ck.org>
Subject: Re: [patch 12/13] signal/timer/event fds v10 - eventfd wire up
x86_64 arch ...
On Mon, 02 Apr 2007 15:46:31 -0700
Davide Libenzi <davidel@...ilserver.org> wrote:
> This patch wire the eventfd system call to the x86_64 architecture.
>
>
>
> Signed-off-by: Davide Libenzi <davidel@...ilserver.org>
>
>
> - Davide
>
>
>
> Index: linux-2.6.21-rc5.fds/arch/x86_64/ia32/ia32entry.S
> ===================================================================
> --- linux-2.6.21-rc5.fds.orig/arch/x86_64/ia32/ia32entry.S 2007-04-02 15:06:40.000000000 -0700
> +++ linux-2.6.21-rc5.fds/arch/x86_64/ia32/ia32entry.S 2007-04-02 15:06:46.000000000 -0700
> @@ -721,4 +721,5 @@
> .quad sys_epoll_pwait
> .quad sys_signalfd /* 320 */
> .quad sys_timerfd
> + .quad sys_eventfd
> ia32_syscall_end:
> Index: linux-2.6.21-rc5.fds/include/asm-x86_64/unistd.h
> ===================================================================
> --- linux-2.6.21-rc5.fds.orig/include/asm-x86_64/unistd.h 2007-04-02 15:06:40.000000000 -0700
> +++ linux-2.6.21-rc5.fds/include/asm-x86_64/unistd.h 2007-04-02 15:06:46.000000000 -0700
> @@ -623,8 +623,10 @@
> __SYSCALL(__NR_signalfd, sys_signalfd)
> #define __NR_timerfd 281
> __SYSCALL(__NR_timerfd, sys_timerfd)
> +#define __NR_eventfd 282
> +__SYSCALL(__NR_eventfd, sys_eventfd)
>
> -#define __NR_syscall_max __NR_timerfd
> +#define __NR_syscall_max __NR_eventfd
>
> #ifndef __NO_STUBS
> #define __ARCH_WANT_OLD_READDIR
General point: the first hunk here which wires up the 32-bit entry point
should arguably be part of the "wire up i386" patch, not the "wire up
x86_64" patch.
This is not a clear-cut thing. The problem with the approach you've taken
here is that if we wire up i386 and not x86_64's i386 table (for example)
there are ways in which intervening patches can accidentally get i386 and
x86_64 emulation's syscall tables out of sync. And, of course, 32-bit
applications will run on i386 but won't run on x86_64 or vice-versa.
So I think the best way to avoid all such problems is to always wire up
i386 and x86_64 (both 32- and 64-bit) in the same patch.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists