Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-09 Thread Rafael J. Wysocki
On Saturday, May 09, 2015 10:11:41 PM Rafael J. Wysocki wrote: > On Saturday, May 09, 2015 11:19:16 AM Preeti U Murthy wrote: > > Hi Rafael, > > > > On 05/08/2015 07:48 PM, Rafael J. Wysocki wrote: > > [cut] > > > >> > > >> +/* Take note of the planned idle state. */ > > >> +

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-09 Thread Rafael J. Wysocki
On Saturday, May 09, 2015 11:19:16 AM Preeti U Murthy wrote: > Hi Rafael, > > On 05/08/2015 07:48 PM, Rafael J. Wysocki wrote: [cut] > >> > >> + /* Take note of the planned idle state. */ > >> + idle_set_state(smp_processor_id(), target_state); > > > > And I wouldn't do this either. > > >

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-09 Thread Rafael J. Wysocki
On Saturday, May 09, 2015 08:46:20 PM Rafael J. Wysocki wrote: > On Saturday, May 09, 2015 11:19:16 AM Preeti U Murthy wrote: > > Hi Rafael, > > > > On 05/08/2015 07:48 PM, Rafael J. Wysocki wrote: > > >> +/* > > >> + * find_tick_valid_state - select a state where tick does not stop > > >> + *

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-09 Thread Rafael J. Wysocki
On Saturday, May 09, 2015 11:19:16 AM Preeti U Murthy wrote: > Hi Rafael, > > On 05/08/2015 07:48 PM, Rafael J. Wysocki wrote: > >> +/* > >> + * find_tick_valid_state - select a state where tick does not stop > >> + * @dev: cpuidle device for this cpu > >> + * @drv: cpuidle driver for this cpu >

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-09 Thread Rafael J. Wysocki
On Saturday, May 09, 2015 10:11:41 PM Rafael J. Wysocki wrote: On Saturday, May 09, 2015 11:19:16 AM Preeti U Murthy wrote: Hi Rafael, On 05/08/2015 07:48 PM, Rafael J. Wysocki wrote: [cut] +/* Take note of the planned idle state. */ +

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-09 Thread Rafael J. Wysocki
On Saturday, May 09, 2015 11:19:16 AM Preeti U Murthy wrote: Hi Rafael, On 05/08/2015 07:48 PM, Rafael J. Wysocki wrote: +/* + * find_tick_valid_state - select a state where tick does not stop + * @dev: cpuidle device for this cpu + * @drv: cpuidle driver for this cpu + */ +static

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-09 Thread Rafael J. Wysocki
On Saturday, May 09, 2015 08:46:20 PM Rafael J. Wysocki wrote: On Saturday, May 09, 2015 11:19:16 AM Preeti U Murthy wrote: Hi Rafael, On 05/08/2015 07:48 PM, Rafael J. Wysocki wrote: +/* + * find_tick_valid_state - select a state where tick does not stop + * @dev: cpuidle device

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-09 Thread Rafael J. Wysocki
On Saturday, May 09, 2015 11:19:16 AM Preeti U Murthy wrote: Hi Rafael, On 05/08/2015 07:48 PM, Rafael J. Wysocki wrote: [cut] + /* Take note of the planned idle state. */ + idle_set_state(smp_processor_id(), target_state); And I wouldn't do this either. The behavior here

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-08 Thread Preeti U Murthy
Hi Rafael, On 05/08/2015 07:48 PM, Rafael J. Wysocki wrote: >> +/* >> + * find_tick_valid_state - select a state where tick does not stop >> + * @dev: cpuidle device for this cpu >> + * @drv: cpuidle driver for this cpu >> + */ >> +static int find_tick_valid_state(struct cpuidle_device *dev, >> +

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-08 Thread Rafael J. Wysocki
On Friday, May 08, 2015 04:18:02 PM Rafael J. Wysocki wrote: > On Friday, May 08, 2015 01:05:32 PM Preeti U Murthy wrote: > > When a CPU has to enter an idle state where tick stops, it makes a call > > to tick_broadcast_enter(). The call will fail if this CPU is the > > broadcast CPU. Today, under

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-08 Thread Rafael J. Wysocki
On Friday, May 08, 2015 01:05:32 PM Preeti U Murthy wrote: > When a CPU has to enter an idle state where tick stops, it makes a call > to tick_broadcast_enter(). The call will fail if this CPU is the > broadcast CPU. Today, under such a circumstance, the arch cpuidle code > handles this CPU. This

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-08 Thread Sudeep Holla
On 08/05/15 08:35, Preeti U Murthy wrote: When a CPU has to enter an idle state where tick stops, it makes a call to tick_broadcast_enter(). The call will fail if this CPU is the broadcast CPU. Today, under such a circumstance, the arch cpuidle code handles this CPU. This is not convincing

[PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-08 Thread Preeti U Murthy
When a CPU has to enter an idle state where tick stops, it makes a call to tick_broadcast_enter(). The call will fail if this CPU is the broadcast CPU. Today, under such a circumstance, the arch cpuidle code handles this CPU. This is not convincing because not only do we not know what the arch

[PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-08 Thread Preeti U Murthy
When a CPU has to enter an idle state where tick stops, it makes a call to tick_broadcast_enter(). The call will fail if this CPU is the broadcast CPU. Today, under such a circumstance, the arch cpuidle code handles this CPU. This is not convincing because not only do we not know what the arch

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-08 Thread Rafael J. Wysocki
On Friday, May 08, 2015 01:05:32 PM Preeti U Murthy wrote: When a CPU has to enter an idle state where tick stops, it makes a call to tick_broadcast_enter(). The call will fail if this CPU is the broadcast CPU. Today, under such a circumstance, the arch cpuidle code handles this CPU. This is

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-08 Thread Rafael J. Wysocki
On Friday, May 08, 2015 04:18:02 PM Rafael J. Wysocki wrote: On Friday, May 08, 2015 01:05:32 PM Preeti U Murthy wrote: When a CPU has to enter an idle state where tick stops, it makes a call to tick_broadcast_enter(). The call will fail if this CPU is the broadcast CPU. Today, under such a

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-08 Thread Sudeep Holla
On 08/05/15 08:35, Preeti U Murthy wrote: When a CPU has to enter an idle state where tick stops, it makes a call to tick_broadcast_enter(). The call will fail if this CPU is the broadcast CPU. Today, under such a circumstance, the arch cpuidle code handles this CPU. This is not convincing

Re: [PATCH V3] cpuidle: Handle tick_broadcast_enter() failure gracefully

2015-05-08 Thread Preeti U Murthy
Hi Rafael, On 05/08/2015 07:48 PM, Rafael J. Wysocki wrote: +/* + * find_tick_valid_state - select a state where tick does not stop + * @dev: cpuidle device for this cpu + * @drv: cpuidle driver for this cpu + */ +static int find_tick_valid_state(struct cpuidle_device *dev, +