tick: Fix the spurious broadcast timer ticks after resume
authorSuresh Siddha <suresh.b.siddha@intel.com>
Thu, 19 Apr 2012 02:27:39 +0000 (19:27 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 19 Apr 2012 19:27:50 +0000 (21:27 +0200)
commita6371f80230eaaafd7eef7efeedaa9509bdc982d
treebb2d800c95cde553e126c28cb58133189b015a47
parentb9a6a23566960d0dd3f51e2e68b472cd61911078
tick: Fix the spurious broadcast timer ticks after resume

During resume, tick_resume_broadcast() programs the broadcast timer in
oneshot mode unconditionally. On the platforms where broadcast timer
is not really required, this will generate spurious broadcast timer
ticks upon resume. For example, on the always running apic timer
platforms with HPET, I see spurious hpet tick once every ~5minutes
(which is the 32-bit hpet counter wraparound time).

Similar to boot time, during resume make the oneshot mode setting of
the broadcast clock event device conditional on the state of active
broadcast users.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: svenjoac@gmx.de
Cc: torvalds@linux-foundation.org
Cc: rjw@sisk.pl
Link: http://lkml.kernel.org/r/1334802459.28674.209.camel@sbsiddha-desk.sc.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/time/tick-broadcast.c