ChangeSet@1.1787, 2004-06-17 21:16:48-07:00, rth@twiddle.net [PATCH] alpha: fix discontigmem+initrd build From: Ivan Kokshaysky Compilation fails due to incorrect usage of NODE_DATA(). Reported by hpa. ChangeSet@1.1786, 2004-06-17 21:04:44-07:00, paulus@samba.org [PATCH] ppc64: Optimize exception/syscall entry/exit This rewrites the PPC64 exception entry/exit routines to make them smaller and faster. In particular we no longer save all of the registers for the common exceptions - system calls, hardware interrupts and decrementer (timer) interrupts - only the volatile registers. The other registers are saved and restored (if used) by the C functions we call. This involved changing the registers we use in early exception processing from r20-r23 to r9-r12, which ended up changing quite a lot of code in head.S. Overall this gives us about a 20% reduction in null syscall time. Some system calls need all the registers (e.g. fork/clone/vfork and [rt_]sigsuspend). For these the syscall dispatch code calls a stub that saves the nonvolatile registers before calling the real handler. This also implements the force_successful_syscall_return() thing for ppc64. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1785, 2004-06-17 21:04:32-07:00, paulus@samba.org [PATCH] ppc64: Implement CONFIG_PREEMPT This implements CONFIG_PREEMPT for ppc64. Aside from the entry.S changes to check the _TIF_NEED_RESCHED bit when returning from an exception, there are various changes to make the ppc64-specific code preempt-safe, mostly adding preempt_enable/disable or get_cpu/put_cpu calls where needed. I have been using this on my desktop G5 for the last week without problems. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1784, 2004-06-15 22:17:47-07:00, torvalds@ppc970.osdl.org Linux 2.6.7 TAG: v2.6.7