2005-03-12 23:35:38

by Mikael Pettersson

[permalink] [raw]
Subject: [PATCH][2.6.11-mm3] perfctr ia32 syscalls on x86-64 fix

The ia32 perfctr syscalls were moved due to addition of ioprio
syscalls, but the ia32 emulation code in x86-64 wasn't updated.
Simple fix below.

Signed-off-by: Mikael Pettersson <[email protected]>

/Mikael

arch/x86_64/ia32/ia32entry.S | 4 +++-
include/asm-x86_64/ia32_unistd.h | 4 ++--
2 files changed, 5 insertions(+), 3 deletions(-)

diff -rupN linux-2.6.11-mm3/arch/x86_64/ia32/ia32entry.S linux-2.6.11-mm3.perfctr-x86_64-ia32-syscalls-fixes/arch/x86_64/ia32/ia32entry.S
--- linux-2.6.11-mm3/arch/x86_64/ia32/ia32entry.S 2005-03-12 19:26:24.000000000 +0100
+++ linux-2.6.11-mm3.perfctr-x86_64-ia32-syscalls-fixes/arch/x86_64/ia32/ia32entry.S 2005-03-12 19:53:32.000000000 +0100
@@ -595,8 +595,10 @@ ia32_sys_call_table:
.quad sys_add_key
.quad sys_request_key
.quad sys_keyctl
+ .quad quiet_ni_syscall /* sys_ioprio_set */
+ .quad quiet_ni_syscall /* sys_ioprio_get */ /* 290 */
.quad sys_vperfctr_open
- .quad sys_vperfctr_control /* 290 */
+ .quad sys_vperfctr_control
.quad sys_vperfctr_write
.quad sys_vperfctr_read
/* don't forget to change IA32_NR_syscalls */
diff -rupN linux-2.6.11-mm3/include/asm-x86_64/ia32_unistd.h linux-2.6.11-mm3.perfctr-x86_64-ia32-syscalls-fixes/include/asm-x86_64/ia32_unistd.h
--- linux-2.6.11-mm3/include/asm-x86_64/ia32_unistd.h 2005-03-12 19:26:26.000000000 +0100
+++ linux-2.6.11-mm3.perfctr-x86_64-ia32-syscalls-fixes/include/asm-x86_64/ia32_unistd.h 2005-03-12 19:53:32.000000000 +0100
@@ -294,11 +294,11 @@
#define __NR_ia32_add_key 286
#define __NR_ia32_request_key 287
#define __NR_ia32_keyctl 288
-#define __NR_ia32_vperfctr_open 289
+#define __NR_ia32_vperfctr_open 291
#define __NR_ia32_vperfctr_control (__NR_ia32_vperfctr_open+1)
#define __NR_ia32_vperfctr_write (__NR_ia32_vperfctr_open+2)
#define __NR_ia32_vperfctr_read (__NR_ia32_vperfctr_open+3)

-#define IA32_NR_syscalls 293 /* must be > than biggest syscall! */
+#define IA32_NR_syscalls 295 /* must be > than biggest syscall! */

#endif /* _ASM_X86_64_IA32_UNISTD_H_ */


2005-03-13 05:56:40

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH][2.6.11-mm3] perfctr ia32 syscalls on x86-64 fix

Mikael Pettersson <[email protected]> wrote:
>
> The ia32 perfctr syscalls were moved due to addition of ioprio
> syscalls, but the ia32 emulation code in x86-64 wasn't updated.

Ho hum. The perfctr syscall API has changed so many times that whenever
someone adds a syscall I have rejects to fix up in probably ten different
patches.

It would be nice to start folding these patches together a bit to reduce
such problems, but that's rather non-trivial because there is no way to
simply join these patches together which maintains a sensible sequencing.

If we're going to do anything then it's either a major refactoring, or
simply wham the entire feature into a single diff. That diff could then be
split into four patches: core, ppc, x86 and x86_64. We would lose the
layering between ye olde perfctr, the inheritance implementation, the syfs
API, etc. I could live with that.

What do you think?

2005-03-13 11:56:25

by Mikael Pettersson

[permalink] [raw]
Subject: Re: [PATCH][2.6.11-mm3] perfctr ia32 syscalls on x86-64 fix

On Sat, 12 Mar 2005 21:55:49 -0800, Andrew Morton wrote:
>It would be nice to start folding these patches together a bit to reduce
>such problems, but that's rather non-trivial because there is no way to
>simply join these patches together which maintains a sensible sequencing.
>
>If we're going to do anything then it's either a major refactoring, or
>simply wham the entire feature into a single diff. That diff could then be
>split into four patches: core, ppc, x86 and x86_64. We would lose the
>layering between ye olde perfctr, the inheritance implementation, the syfs
>API, etc. I could live with that.
>
>What do you think?

At my end there is already just "the current version"
(with history in cvs) so merging is fine with me.

/Mikael