Messages in this thread | | | Date | Wed, 11 Jan 2012 02:10:22 -0800 | From | Andres Salomon <> | Subject | Re: [PATCH] cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels |
| |
On Wed, 21 Dec 2011 16:42:20 +0100 Jens Rottmann <JRottmann@LiPPERTEmbedded.de> wrote:
> cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels > > On SMP-capable kernels (e.g. generic distro kernel) the > cs5535-clockevt driver loads but is not actually used. > > Setting cpumask to cpu_all_mask works for UP-only kernels, but if > compiled for SMP - though still running on the same UP hardware - > kernel/time/tick-common.c:tick_check_new_device() reads this as > "non-cpu-local" and silently ignores the device. > > If we leave cpumask unset clockevents_register_device() will > initialize it and the cs5535-clockevt driver will be used no matter > how the kernel was compiled. Should anyone ever manage to stick a > CS553x in an SMP system (is this even possible?) then a warning will > be printed. This is fine as the cs5535-clockevt driver was never > written/tested for SMP. > > If bisecting led you here this patch may have exposed a pre-existing > MFGPT problem. Configure for UP-only and re-check. > > Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de> > --- > > --- linux-3.2-rc6/drivers/clocksource/cs5535-clockevt.c > +++ use_mfgpt_on_smp_kernels/drivers/clocksource/cs5535-clockevt.c > @@ -100,7 +100,6 @@ static struct clock_event_device cs5535_ > .set_mode = mfgpt_set_mode, > .set_next_event = mfgpt_next_event, > .rating = 250, > - .cpumask = cpu_all_mask, > .shift = 32 > }; > > _ >
Hm, have you tried setting cpumask to cpumask_of(0), like a bunch of the other clock_event_device drivers do?
| |