On Thu, 15 Mar 2007 10:35:11 +0900 (JST), Atsushi Nemoto <anemo@xxxxxxxxxxxxx> wrote: > I think this patch has less maintainance cost but a little bit slow. > > These syscalls can be a little bit faster, but needs more works on > glibc (and uClibc, etc.) side. > > Anyway we should take some action while current implementation is > broken (except N64). > > Which is a way to go? Here is a sample fix for N32 readahead and sync_file_range. For kernel: --- a/arch/mips/kernel/scall64-n32.S +++ b/arch/mips/kernel/scall64-n32.S @@ -299,7 +299,7 @@ EXPORT(sysn32_call_table) PTR sys_ni_syscall /* res. for afs_syscall */ PTR sys_ni_syscall /* res. for security */ PTR sys_gettid - PTR sys32_readahead + PTR sys_readahead PTR sys_setxattr /* 6180 */ PTR sys_lsetxattr PTR sys_fsetxattr For glibc: --- glibc-ports-2.5.org/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list 1970-01-01 09:00:00.000000000 +0900 +++ glibc-ports-2.5/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list 2007-03-16 00:24:21.000000000 +0900 @@ -0,0 +1,4 @@ +# File name Caller Syscall name # args Strong name Weak names + +readahead - readahead i:iii __readahead readahead +sync_file_range - sync_file_range i:iiii sync_file_range Is this approach preferred?