Re: [PATCH] powerpc/pseries: fix idle sleep early exit state

2008-12-03 Thread Paul Mackerras
Sebastien Dugue writes:

   In pseries_dedicated_idle_sleep(), if we need to exit idle during the
 snooze period (i.e. need_resched or cpu has been offlined), then we should
 re-disable the interrupts and clear TIF_POLLING_NRFLAG before leaving.

Are you doing this because of a bug you actually observed, or did you
just find this by inspection?  I don't believe it's necessary to do
these things (disabling interrupts, clearing TIF_POLLING_NRFLAG)
because the code that calls it immediately reenables interrupts and
sets TIF_POLLING_NRFLAG again.  From arch/powerpc/kernel/idle.c (line
73):

if (!need_resched()  !cpu_should_die())
ppc_md.power_save();

local_irq_enable();
set_thread_flag(TIF_POLLING_NRFLAG);

Paul.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] powerpc/pseries: fix idle sleep early exit state

2008-12-03 Thread Sebastien Dugue
On Wed, 3 Dec 2008 20:38:54 +1100 Paul Mackerras [EMAIL PROTECTED] wrote:

 Sebastien Dugue writes:
 
In pseries_dedicated_idle_sleep(), if we need to exit idle during the
  snooze period (i.e. need_resched or cpu has been offlined), then we should
  re-disable the interrupts and clear TIF_POLLING_NRFLAG before leaving.
 
 Are you doing this because of a bug you actually observed, or did you
 just find this by inspection?

  By inspection, and just to be consistent with the other way out. But
you're right, it's not really necessary here.

  I don't believe it's necessary to do
 these things (disabling interrupts, clearing TIF_POLLING_NRFLAG)
 because the code that calls it immediately reenables interrupts and
 sets TIF_POLLING_NRFLAG again.  From arch/powerpc/kernel/idle.c (line
 73):
 
   if (!need_resched()  !cpu_should_die())
   ppc_md.power_save();
 
   local_irq_enable();
   set_thread_flag(TIF_POLLING_NRFLAG);
 
 Paul.
 

  Thanks,

  Sebastien.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev