* [patch 2/3] new timerfd API - wire the new timerfd API to the x86 family
@ 2007-09-23 22:49 Davide Libenzi
2007-09-24 6:50 ` Michael Kerrisk
0 siblings, 1 reply; 5+ messages in thread
From: Davide Libenzi @ 2007-09-23 22:49 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: Michael Kerrisk, Thomas Gleixner, Andrew Morton, Linus Torvalds
Wires up the new timerfd API to the x86 family.
Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
- Davide
---
arch/i386/kernel/syscall_table.S | 5 ++++-
arch/x86_64/ia32/ia32entry.S | 4 +++-
include/asm-i386/unistd.h | 6 ++++--
include/asm-x86_64/unistd.h | 8 ++++++--
4 files changed, 17 insertions(+), 6 deletions(-)
Index: linux-2.6.mod/arch/i386/kernel/syscall_table.S
===================================================================
--- linux-2.6.mod.orig/arch/i386/kernel/syscall_table.S 2007-09-23 15:28:48.000000000 -0700
+++ linux-2.6.mod/arch/i386/kernel/syscall_table.S 2007-09-23 15:28:52.000000000 -0700
@@ -321,6 +321,9 @@
.long sys_epoll_pwait
.long sys_utimensat /* 320 */
.long sys_signalfd
- .long sys_timerfd
+ .long sys_timerfd_create
.long sys_eventfd
.long sys_fallocate
+ .long sys_timerfd_settime /* 325 */
+ .long sys_timerfd_gettime
+
Index: linux-2.6.mod/arch/x86_64/ia32/ia32entry.S
===================================================================
--- linux-2.6.mod.orig/arch/x86_64/ia32/ia32entry.S 2007-09-23 15:28:48.000000000 -0700
+++ linux-2.6.mod/arch/x86_64/ia32/ia32entry.S 2007-09-23 15:28:52.000000000 -0700
@@ -730,7 +730,9 @@
.quad sys_epoll_pwait
.quad compat_sys_utimensat /* 320 */
.quad compat_sys_signalfd
- .quad compat_sys_timerfd
+ .quad sys_timerfd_create
.quad sys_eventfd
.quad sys32_fallocate
+ .quad compat_sys_timerfd_settime /* 325 */
+ .quad compat_sys_timerfd_gettime
ia32_syscall_end:
Index: linux-2.6.mod/include/asm-i386/unistd.h
===================================================================
--- linux-2.6.mod.orig/include/asm-i386/unistd.h 2007-09-23 15:28:48.000000000 -0700
+++ linux-2.6.mod/include/asm-i386/unistd.h 2007-09-23 15:28:52.000000000 -0700
@@ -327,13 +327,15 @@
#define __NR_epoll_pwait 319
#define __NR_utimensat 320
#define __NR_signalfd 321
-#define __NR_timerfd 322
+#define __NR_timerfd_create 322
#define __NR_eventfd 323
#define __NR_fallocate 324
+#define __NR_timerfd_settime 325
+#define __NR_timerfd_gettime 326
#ifdef __KERNEL__
-#define NR_syscalls 325
+#define NR_syscalls 327
#define __ARCH_WANT_IPC_PARSE_VERSION
#define __ARCH_WANT_OLD_READDIR
Index: linux-2.6.mod/include/asm-x86_64/unistd.h
===================================================================
--- linux-2.6.mod.orig/include/asm-x86_64/unistd.h 2007-09-23 15:28:48.000000000 -0700
+++ linux-2.6.mod/include/asm-x86_64/unistd.h 2007-09-23 15:28:52.000000000 -0700
@@ -626,12 +626,16 @@
__SYSCALL(__NR_epoll_pwait, sys_epoll_pwait)
#define __NR_signalfd 282
__SYSCALL(__NR_signalfd, sys_signalfd)
-#define __NR_timerfd 283
-__SYSCALL(__NR_timerfd, sys_timerfd)
+#define __NR_timerfd_create 283
+__SYSCALL(__NR_timerfd_create, sys_timerfd_create)
#define __NR_eventfd 284
__SYSCALL(__NR_eventfd, sys_eventfd)
#define __NR_fallocate 285
__SYSCALL(__NR_fallocate, sys_fallocate)
+#define __NR_timerfd_settime 286
+__SYSCALL(__NR_timerfd_settime, sys_timerfd_settime)
+#define __NR_timerfd_gettime 287
+__SYSCALL(__NR_timerfd_gettime, sys_timerfd_gettime)
#ifndef __NO_STUBS
#define __ARCH_WANT_OLD_READDIR
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 2/3] new timerfd API - wire the new timerfd API to the x86 family
2007-09-23 22:49 [patch 2/3] new timerfd API - wire the new timerfd API to the x86 family Davide Libenzi
@ 2007-09-24 6:50 ` Michael Kerrisk
2007-09-24 15:38 ` Davide Libenzi
0 siblings, 1 reply; 5+ messages in thread
From: Michael Kerrisk @ 2007-09-24 6:50 UTC (permalink / raw)
To: Davide Libenzi
Cc: Linux Kernel Mailing List, Thomas Gleixner, Andrew Morton,
Linus Torvalds
Davide,
Is it perhaps not better to group the three syscalls contiguously with
respect to syscall numbers? The old timerfd slot can be re-used for some
other syscall later.
Cheers,
Michael
Davide Libenzi wrote:
> Wires up the new timerfd API to the x86 family.
>
>
>
> Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
>
>
> - Davide
>
>
> ---
> arch/i386/kernel/syscall_table.S | 5 ++++-
> arch/x86_64/ia32/ia32entry.S | 4 +++-
> include/asm-i386/unistd.h | 6 ++++--
> include/asm-x86_64/unistd.h | 8 ++++++--
> 4 files changed, 17 insertions(+), 6 deletions(-)
>
> Index: linux-2.6.mod/arch/i386/kernel/syscall_table.S
> ===================================================================
> --- linux-2.6.mod.orig/arch/i386/kernel/syscall_table.S 2007-09-23 15:28:48.000000000 -0700
> +++ linux-2.6.mod/arch/i386/kernel/syscall_table.S 2007-09-23 15:28:52.000000000 -0700
> @@ -321,6 +321,9 @@
> .long sys_epoll_pwait
> .long sys_utimensat /* 320 */
> .long sys_signalfd
> - .long sys_timerfd
> + .long sys_timerfd_create
> .long sys_eventfd
> .long sys_fallocate
> + .long sys_timerfd_settime /* 325 */
> + .long sys_timerfd_gettime
> +
> Index: linux-2.6.mod/arch/x86_64/ia32/ia32entry.S
> ===================================================================
> --- linux-2.6.mod.orig/arch/x86_64/ia32/ia32entry.S 2007-09-23 15:28:48.000000000 -0700
> +++ linux-2.6.mod/arch/x86_64/ia32/ia32entry.S 2007-09-23 15:28:52.000000000 -0700
> @@ -730,7 +730,9 @@
> .quad sys_epoll_pwait
> .quad compat_sys_utimensat /* 320 */
> .quad compat_sys_signalfd
> - .quad compat_sys_timerfd
> + .quad sys_timerfd_create
> .quad sys_eventfd
> .quad sys32_fallocate
> + .quad compat_sys_timerfd_settime /* 325 */
> + .quad compat_sys_timerfd_gettime
> ia32_syscall_end:
> Index: linux-2.6.mod/include/asm-i386/unistd.h
> ===================================================================
> --- linux-2.6.mod.orig/include/asm-i386/unistd.h 2007-09-23 15:28:48.000000000 -0700
> +++ linux-2.6.mod/include/asm-i386/unistd.h 2007-09-23 15:28:52.000000000 -0700
> @@ -327,13 +327,15 @@
> #define __NR_epoll_pwait 319
> #define __NR_utimensat 320
> #define __NR_signalfd 321
> -#define __NR_timerfd 322
> +#define __NR_timerfd_create 322
> #define __NR_eventfd 323
> #define __NR_fallocate 324
> +#define __NR_timerfd_settime 325
> +#define __NR_timerfd_gettime 326
>
> #ifdef __KERNEL__
>
> -#define NR_syscalls 325
> +#define NR_syscalls 327
>
> #define __ARCH_WANT_IPC_PARSE_VERSION
> #define __ARCH_WANT_OLD_READDIR
> Index: linux-2.6.mod/include/asm-x86_64/unistd.h
> ===================================================================
> --- linux-2.6.mod.orig/include/asm-x86_64/unistd.h 2007-09-23 15:28:48.000000000 -0700
> +++ linux-2.6.mod/include/asm-x86_64/unistd.h 2007-09-23 15:28:52.000000000 -0700
> @@ -626,12 +626,16 @@
> __SYSCALL(__NR_epoll_pwait, sys_epoll_pwait)
> #define __NR_signalfd 282
> __SYSCALL(__NR_signalfd, sys_signalfd)
> -#define __NR_timerfd 283
> -__SYSCALL(__NR_timerfd, sys_timerfd)
> +#define __NR_timerfd_create 283
> +__SYSCALL(__NR_timerfd_create, sys_timerfd_create)
> #define __NR_eventfd 284
> __SYSCALL(__NR_eventfd, sys_eventfd)
> #define __NR_fallocate 285
> __SYSCALL(__NR_fallocate, sys_fallocate)
> +#define __NR_timerfd_settime 286
> +__SYSCALL(__NR_timerfd_settime, sys_timerfd_settime)
> +#define __NR_timerfd_gettime 287
> +__SYSCALL(__NR_timerfd_gettime, sys_timerfd_gettime)
>
> #ifndef __NO_STUBS
> #define __ARCH_WANT_OLD_READDIR
>
--
Michael Kerrisk
maintainer of Linux man pages Sections 2, 3, 4, 5, and 7
Want to help with man page maintenance? Grab the latest tarball at
http://www.kernel.org/pub/linux/docs/manpages/
read the HOWTOHELP file and grep the source files for 'FIXME'.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 2/3] new timerfd API - wire the new timerfd API to the x86 family
2007-09-24 6:50 ` Michael Kerrisk
@ 2007-09-24 15:38 ` Davide Libenzi
2007-09-24 19:50 ` Michael Kerrisk
0 siblings, 1 reply; 5+ messages in thread
From: Davide Libenzi @ 2007-09-24 15:38 UTC (permalink / raw)
To: Michael Kerrisk
Cc: Linux Kernel Mailing List, Thomas Gleixner, Andrew Morton,
Linus Torvalds
On Mon, 24 Sep 2007, Michael Kerrisk wrote:
> Davide,
>
> Is it perhaps not better to group the three syscalls contiguously with
> respect to syscall numbers? The old timerfd slot can be re-used for some
> other syscall later.
There's no problem if they're not contiguous. Holes, unless filled
immediately, need to be remembered to be filled.
- Davide
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 2/3] new timerfd API - wire the new timerfd API to the x86 family
2007-09-24 15:38 ` Davide Libenzi
@ 2007-09-24 19:50 ` Michael Kerrisk
2007-09-24 19:56 ` Davide Libenzi
0 siblings, 1 reply; 5+ messages in thread
From: Michael Kerrisk @ 2007-09-24 19:50 UTC (permalink / raw)
To: Davide Libenzi
Cc: Linux Kernel Mailing List, Thomas Gleixner, Andrew Morton,
Linus Torvalds
Hi Davide,
Davide Libenzi wrote:
> On Mon, 24 Sep 2007, Michael Kerrisk wrote:
>> Is it perhaps not better to group the three syscalls contiguously with
>> respect to syscall numbers? The old timerfd slot can be re-used for some
>> other syscall later.
>
> There's no problem if they're not contiguous.
I realise there is no problem, in a technical sense. But it strikes me as
more aesthetic to make related syscalls numerically contiguous. Thus, we
see such as the following in the kernel source
#define __NR_epoll_create 254
#define __NR_epoll_ctl 255
#define __NR_epoll_wait 256
and
#define __NR_timer_create 259
#define __NR_timer_settime (__NR_timer_create+1)
#define __NR_timer_gettime (__NR_timer_create+2)
#define __NR_timer_getoverrun (__NR_timer_create+3)
#define __NR_timer_delete (__NR_timer_create+4)
and
#define __NR_inotify_init 291
#define __NR_inotify_add_watch 292
#define __NR_inotify_rm_watch 293
> Holes, unless filled
> immediately, need to be remembered to be filled.
Well, in the past it seems they do get filled soon enough though. There's
fair odds that you'll be the one to fill it with the next syscall you write
;-).
Cheers,
Michael
--
Michael Kerrisk
maintainer of Linux man pages Sections 2, 3, 4, 5, and 7
Want to help with man page maintenance? Grab the latest tarball at
http://www.kernel.org/pub/linux/docs/manpages/
read the HOWTOHELP file and grep the source files for 'FIXME'.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 2/3] new timerfd API - wire the new timerfd API to the x86 family
2007-09-24 19:50 ` Michael Kerrisk
@ 2007-09-24 19:56 ` Davide Libenzi
0 siblings, 0 replies; 5+ messages in thread
From: Davide Libenzi @ 2007-09-24 19:56 UTC (permalink / raw)
To: Michael Kerrisk
Cc: Linux Kernel Mailing List, Thomas Gleixner, Andrew Morton,
Linus Torvalds
On Mon, 24 Sep 2007, Michael Kerrisk wrote:
> Hi Davide,
>
> Davide Libenzi wrote:
> > On Mon, 24 Sep 2007, Michael Kerrisk wrote:
> >> Is it perhaps not better to group the three syscalls contiguously with
> >> respect to syscall numbers? The old timerfd slot can be re-used for some
> >> other syscall later.
> >
> > There's no problem if they're not contiguous.
>
> I realise there is no problem, in a technical sense. But it strikes me as
> more aesthetic to make related syscalls numerically contiguous. Thus, we
> see such as the following in the kernel source
>
> #define __NR_epoll_create 254
> #define __NR_epoll_ctl 255
> #define __NR_epoll_wait 256
>
> and
>
> #define __NR_timer_create 259
> #define __NR_timer_settime (__NR_timer_create+1)
> #define __NR_timer_gettime (__NR_timer_create+2)
> #define __NR_timer_getoverrun (__NR_timer_create+3)
> #define __NR_timer_delete (__NR_timer_create+4)
>
> and
>
> #define __NR_inotify_init 291
> #define __NR_inotify_add_watch 292
> #define __NR_inotify_rm_watch 293
>
> > Holes, unless filled
> > immediately, need to be remembered to be filled.
>
> Well, in the past it seems they do get filled soon enough though. There's
> fair odds that you'll be the one to fill it with the next syscall you write
> ;-).
You have to talk to arch mantainers. I do not care. I simply provided the
x86 hooks because I tested on x86.
- Davide
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-09-24 19:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-23 22:49 [patch 2/3] new timerfd API - wire the new timerfd API to the x86 family Davide Libenzi
2007-09-24 6:50 ` Michael Kerrisk
2007-09-24 15:38 ` Davide Libenzi
2007-09-24 19:50 ` Michael Kerrisk
2007-09-24 19:56 ` Davide Libenzi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox