[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1334178072.27381.21.camel@sbsiddha-desk.sc.intel.com>
Date: Wed, 11 Apr 2012 14:01:12 -0700
From: Suresh Siddha <suresh.b.siddha@...el.com>
To: Feng Tang <feng.tang@...el.com>
Cc: Thomas Gleixner <tglx@...utronix.de>, santosh.shilimkar@...com,
linux-kernel@...r.kernel.org, johnstul@...ibm.com
Subject: Re: [PATCH] clockevents: Leave broadcast device shtudown only if
the current device is always running.
On Thu, 2012-04-12 at 00:04 +0800, Feng Tang wrote:
> Thanks for the explaination, I understand the root cause now.
>
> And regarding the original commit 77b0d60c5
> clockevents: Leave the broadcast device in shutdown mode when not needed
>
> @@ -575,11 +575,15 @@ void tick_broadcast_switch_to_oneshot(void)
> unsigned long flags;
>
> raw_spin_lock_irqsave(&tick_broadcast_lock, flags);
> + if (cpumask_empty(tick_get_broadcast_mask()))
> + goto end;
>
> tick_broadcast_device.mode = TICKDEV_MODE_ONESHOT;
> bc = tick_broadcast_device.evtdev;
> if (bc)
> tick_broadcast_setup_oneshot(bc);
> +
> +end:
> raw_spin_unlock_irqrestore(&tick_broadcast_lock, flags);
> }
>
> The tick_broadcast_switch_to_oneshot() get called mostly at boot time or
> during cpu hotplug. And when it is called at boot time, the tick_broadcast_mask
> is alwasys 0 at the point,
On the correctly working platforms, that is the case. But there are
cases where APIC timer calibration fails, in which case APIC is marked
as CLOCK_EVT_FEAT_DUMMY and in this scenario, broadcast mask will be
non-zero.
> thus this check is always true and skip the
> following oneshot setting up for broadcast device,
On most platforms yes, but there are some buggy exceptions which the
code is trying to handle.
thanks,
suresh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists