History

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.

Thomas Gleixner committed 18 years ago

Commit 07454bf1 parent 2165f631 file · +4 −2Browse files

Unified · Split

kernel/time/tick-broadcast.c+4−2
@@ -235,7 +235,8 @@ static void tick_do_broadcast_on_off(void *why) · 234 unmodified lines
235235 case CLOCK_EVT_NOTIFY_BROADCAST_FORCE:
236236 if (!cpu_isset(cpu, tick_broadcast_mask)) {
237237 cpu_set(cpu, tick_broadcast_mask);
238− if (bc->mode == TICKDEV_MODE_PERIODIC)
238+ if (tick_broadcast_device.mode ==
239+ TICKDEV_MODE_PERIODIC)
239240 clockevents_shutdown(dev);
240241 }
241242 if (*reason == CLOCK_EVT_NOTIFY_BROADCAST_FORCE)
@@ -245,7 +246,8 @@ static void tick_do_broadcast_on_off(void *why) · 3 unmodified lines
245246 if (!tick_broadcast_force &&
246247 cpu_isset(cpu, tick_broadcast_mask)) {
247248 cpu_clear(cpu, tick_broadcast_mask);
248− if (bc->mode == TICKDEV_MODE_PERIODIC)
249+ if (tick_broadcast_device.mode ==
250+ TICKDEV_MODE_PERIODIC)
249251 tick_setup_periodic(dev, 0);
250252 }
251253 break;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t