clockevents: check broadcast tick device not the clock events device

Impact: jiffies increment too fast.

Hugh Dickins noted that with NOHZ=n and HIGHRES=n jiffies get
incremented too fast. The reason is a wrong check in the broadcast
enter/exit code, which keeps the local apic timer in periodic mode
when the switch happens.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

+4 -2
+4 -2
kernel/time/tick-broadcast.c
··· 235 case CLOCK_EVT_NOTIFY_BROADCAST_FORCE: 236 if (!cpu_isset(cpu, tick_broadcast_mask)) { 237 cpu_set(cpu, tick_broadcast_mask); 238 - if (bc->mode == TICKDEV_MODE_PERIODIC) 239 clockevents_shutdown(dev); 240 } 241 if (*reason == CLOCK_EVT_NOTIFY_BROADCAST_FORCE) ··· 246 if (!tick_broadcast_force && 247 cpu_isset(cpu, tick_broadcast_mask)) { 248 cpu_clear(cpu, tick_broadcast_mask); 249 - if (bc->mode == TICKDEV_MODE_PERIODIC) 250 tick_setup_periodic(dev, 0); 251 } 252 break;
··· 235 case CLOCK_EVT_NOTIFY_BROADCAST_FORCE: 236 if (!cpu_isset(cpu, tick_broadcast_mask)) { 237 cpu_set(cpu, tick_broadcast_mask); 238 + if (tick_broadcast_device.mode == 239 + TICKDEV_MODE_PERIODIC) 240 clockevents_shutdown(dev); 241 } 242 if (*reason == CLOCK_EVT_NOTIFY_BROADCAST_FORCE) ··· 245 if (!tick_broadcast_force && 246 cpu_isset(cpu, tick_broadcast_mask)) { 247 cpu_clear(cpu, tick_broadcast_mask); 248 + if (tick_broadcast_device.mode == 249 + TICKDEV_MODE_PERIODIC) 250 tick_setup_periodic(dev, 0); 251 } 252 break;