Remove idle_spin function pointer, since it just seems to make the idle loop run hotter by doing bl/blr.
Index: 2.6.21/arch/powerpc/platforms/pasemi/idle.c =================================================================== --- 2.6.21.orig/arch/powerpc/platforms/pasemi/idle.c +++ 2.6.21/arch/powerpc/platforms/pasemi/idle.c @@ -34,7 +34,7 @@ struct sleep_mode { }; static struct sleep_mode modes[] = { - { .name = "spin", .entry = &idle_spin }, + { .name = "spin", .entry = NULL }, { .name = "doze", .entry = &idle_doze }, }; Index: 2.6.21/arch/powerpc/platforms/pasemi/powersave.S =================================================================== --- 2.6.21.orig/arch/powerpc/platforms/pasemi/powersave.S +++ 2.6.21/arch/powerpc/platforms/pasemi/powersave.S @@ -49,9 +49,6 @@ _doze: b . -_GLOBAL(idle_spin) - blr - _GLOBAL(idle_doze) LOAD_REG_ADDR(r3, _doze) b sleep_common -- _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev