The patch titled

     ppc64: idle fixups

has been added to the -mm tree.  Its filename is

     ppc64-idle-fixups.patch

Patches currently in -mm which might be from [EMAIL PROTECTED] are

ppc64-use-c99-initialisers-in-cputable-code.patch
ppc64-fix-runlatch-code-to-work-on-pseries-machines.patch
ppc64-turn-runlatch-on-in-exception-entry.patch
move-ioprio-syscalls-into-syscallsh.patch
ppc64-sys_ppc32c-cleanups.patch
ppc64-add-ioprio-syscalls.patch
ppc64-remove-duplicate-syscall-reservation.patch
hvc_console-rearrange-code.patch
hvc_console-match-vio-and-console-devices-using-vterm-numbers.patch
hvc_console-dont-always-kick-the-poll-thread-in-interrupt.patch
hvc_console-magic_sysrq-should-only-be-on-console-channel.patch
hvc_console-unregister-the-console-in-the-exit-routine.patch
hvc_console-add-missing-include.patch
hvc_console-remove-num_vterms-and-some-dead-code.patch
hvc_console-statically-initialize-the-vtermnos-array.patch
hvc_console-add-some-sanity-checks.patch
hvc_console-separate-hvc_console-and-vio-code.patch
hvc_console-separate-hvc_console-and-vio-code-2.patch
hvc_console-register-ops-when-setting-up-hvc_console.patch
hvc_console-separate-the-nul-character-filtering-from-get_hvc_chars.patch
hvc_console-use-hvc_get_chars-in-hvsi-code.patch
ppc64-make-idle_loop-a-ppc_md-function.patch
ppc64-move-iseries_idle-into-iseries_setupc.patch
ppc64-move-pseries-idle-functions-into-pseries_setupc.patch
ppc64-fixup-platforms-for-new-ppc_mdidle.patch
ppc64-remove-obsolete-idle_setup.patch
ppc64-iseries-idle-fixups.patch
ppc64-pseries-idle-fixups.patch
ppc64-idle-fixups.patch
ppc64-fix-compile-warning.patch
ppc64-be-consistent-about-printing-which-idle-loop-were-using.patch



From: Anton Blanchard <[EMAIL PROTECTED]>

- remove some unnecessary includes
- add runlatch support
- no need to use raw_smp_processor_id any more, current preempt debug
  logic checks for processes that are bound to one cpu.

Signed-off-by: Anton Blanchard <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 arch/ppc64/kernel/idle.c |   23 ++++++++++++-----------
 1 files changed, 12 insertions(+), 11 deletions(-)

diff -puN arch/ppc64/kernel/idle.c~ppc64-idle-fixups arch/ppc64/kernel/idle.c
--- 25/arch/ppc64/kernel/idle.c~ppc64-idle-fixups       Wed Jul  6 14:10:20 2005
+++ 25-akpm/arch/ppc64/kernel/idle.c    Wed Jul  6 14:10:20 2005
@@ -20,18 +20,12 @@
 #include <linux/kernel.h>
 #include <linux/smp.h>
 #include <linux/cpu.h>
-#include <linux/module.h>
 #include <linux/sysctl.h>
-#include <linux/smp.h>
 
 #include <asm/system.h>
 #include <asm/processor.h>
-#include <asm/mmu.h>
 #include <asm/cputable.h>
 #include <asm/time.h>
-#include <asm/iSeries/HvCall.h>
-#include <asm/iSeries/ItLpQueue.h>
-#include <asm/plpar_wrappers.h>
 #include <asm/systemcfg.h>
 #include <asm/machdep.h>
 
@@ -49,7 +43,8 @@ int default_idle(void)
                        set_thread_flag(TIF_POLLING_NRFLAG);
 
                        while (!need_resched() && !cpu_is_offline(cpu)) {
-                               barrier();
+                               ppc64_runlatch_off();
+
                                /*
                                 * Go into low thread priority and possibly
                                 * low power mode.
@@ -64,6 +59,7 @@ int default_idle(void)
                        set_need_resched();
                }
 
+               ppc64_runlatch_on();
                schedule();
                if (cpu_is_offline(cpu) && system_state == SYSTEM_RUNNING)
                        cpu_die();
@@ -74,17 +70,22 @@ int default_idle(void)
 
 int native_idle(void)
 {
-       while(1) {
-               /* check CPU type here */
+       while (1) {
+               ppc64_runlatch_off();
+
                if (!need_resched())
                        power4_idle();
-               if (need_resched())
+
+               if (need_resched()) {
+                       ppc64_runlatch_on();
                        schedule();
+               }
 
-               if (cpu_is_offline(raw_smp_processor_id()) &&
+               if (cpu_is_offline(smp_processor_id()) &&
                    system_state == SYSTEM_RUNNING)
                        cpu_die();
        }
+
        return 0;
 }
 
_
-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to