[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#354995: linux-2.6: The bug has been fixed upstream in 2.6.16

Package: linux-2.6
Followup-For: Bug #354995


As the subject states, the bug has been fixed upstream in 2.6.16-rc5.
I have tested this kernel myself and the clock _no longer_ runs too
fast without passing 'noapic' or 'no_timer_check' parameter to the kernel.

The relevant excerpt from the 2.6.16-rc5 changelog:

commit ab9b32ee626e9b6df4ce2560a70ae15e62423cf4
Author: Andi Kleen <ak@suse.de>
Date:   Sun Feb 26 04:18:52 2006 +0100

    [PATCH] x86_64: Better ATI timer fix
    The previous experiment for using apicmaintimer on ATI systems didn't
    work out very well.  In particular laptops with C2/C3 support often
    don't let it tick during idle, which makes it useless.  There were also
    some other bugs that made the apicmaintimer often not used at all.
    I tried some other experiments - running timer over RTC and some other
    things but they didn't really work well neither.
    I rechecked the specs now and it turns out this simple change is
    actually enough to avoid the double ticks on the ATI systems.  We just
    turn off IRQ 0 in the 8254 and only route it directly using the IO-APIC.
    I tested it on a few ATI systems and it worked there.  In fact it worked
    on all chipsets (NVidia, Intel, AMD, ATI) I tried it on.
    According to the ACPI spec routing should always work through the
    IO-APIC so I think it's the correct thing to do anyways (and most of the
    old gunk in check_timer should be thrown away for x86-64).
    But for 2.6.16 it's best to do a fairly minimal change:
     - Use the known to be working everywhere-but-ATI IRQ0 both over 8254
       and IO-APIC setup everywhere
     - Except on ATI disable IRQ0 in the 8254
     - Remove the code to select apicmaintimer on ATI chipsets
     - Add some boot options to allow to override this (just paranoia)
    In 2.6.17 I hope to switch the default over to this for everybody.
    Signed-off-by: Andi Kleen <ak@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15-1-amd64-k8
Locale: LANG=lt_LT, LC_CTYPE=lt_LT (charmap=ISO-8859-13)

Reply to: