• Pierre Tardy's avatar
    x86, lapic-timer: Increase the max_delta to 31 bits · 4aed89d6
    Pierre Tardy authored
    Latest atom socs(penwell) does not have hpet timer.
    
    As their local APIC timer is clocked at 400KHZ, and the current
    code limit their Initial Counter register to 23 bits, they
    cannot sleep more than 1.34 seconds which leads to ~2 spurious
    wakeup per second (1 per thread)
    
    These SOCs support 32bit timer so we change the max_delta to at
    least 31bits. So we can at least sleep for 300 seconds.
    
    We could not find any previous chip errata where lapic would
    only have 23 bit precision As powertop is suggesting to activate
    HPET to "sleep longer", this could mean this problem is already
    known.
    
    Problem is here since very first implementation of lapic timer
    as a clock event e9e2cdb4 [PATCH] clockevents: i386 drivers.
    Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
    Signed-off-by: default avatarPierre Tardy <pierre.tardy@intel.com>
    Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Arjan van de Ven <arjan@infradead.org>
    Cc: Adrian Bunk <bunk@stusta.de>
    Cc: H. Peter Anvin <hpa@linux.intel.com>
    Cc: john stultz <johnstul@us.ibm.com>
    Cc: Roman Zippel <zippel@linux-m68k.org>
    Cc: Andi Kleen <ak@suse.de>
    LKML-Reference: <1294327409-19426-1-git-send-email-pierre.tardy@intel.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    4aed89d6
apic.c 56.1 KB