lkml.org 
[lkml]   [2009]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [tip:x86/urgent] x86: Fix bogus warning in apic_noop.apic_write()
    On Mon, 7 Dec 2009, Cyrill Gorcunov wrote:
    > On Mon, Dec 07, 2009 at 04:48:51PM +0100, Thomas Gleixner wrote:
    > > On Mon, 7 Dec 2009, Cyrill Gorcunov wrote:
    > > > On Mon, Dec 07, 2009 at 12:18:37PM +0000, tip-bot for Thomas Gleixner wrote:
    > > > > Commit-ID: a946d8f11f0da9cfc714248036fcfd3a794d1e27
    > > > > Gitweb: http://git.kernel.org/tip/a946d8f11f0da9cfc714248036fcfd3a794d1e27
    > > > > Author: Thomas Gleixner <tglx@linutronix.de>
    > > > > AuthorDate: Mon, 7 Dec 2009 12:59:46 +0100
    > > > > Committer: Ingo Molnar <mingo@elte.hu>
    > > > > CommitDate: Mon, 7 Dec 2009 13:16:37 +0100
    > > > >
    > > > > x86: Fix bogus warning in apic_noop.apic_write()
    > > > >
    > > > > apic_noop is used to provide dummy apic functions. It's installed
    > > > > when the CPU has no APIC or when the APIC is disabled on the kernel
    > > > > command line.
    > > > >
    > > > > The apic_noop implementation of apic_write() warns when the CPU has
    > > > > an APIC or when the APIC is not disabled.
    > > > >
    > > > > That's bogus. The warning should only happen when the CPU has an
    > > > > APIC _AND_ the APIC is not disabled. apic_noop.apic_read() has the
    > > > > correct check.
    > > > >
    > > > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    > > > > Cc: Cyrill Gorcunov <gorcunov@openvz.org>
    > > > > Cc: <stable@kernel.org> # in <= .32 this typo resides in native_apic_write_dummy()
    > > > > LKML-Reference: <alpine.LFD.2.00.0912071255420.3089@localhost.localdomain>
    > > > > Signed-off-by: Ingo Molnar <mingo@elte.hu>
    > > > > ---
    > > > > arch/x86/kernel/apic/apic_noop.c | 2 +-
    > > > > 1 files changed, 1 insertions(+), 1 deletions(-)
    > > > ...
    > > >
    > > > Hi Thomas, Ingo,
    > > >
    > > > please do not change it. There are still machines without
    > > > cpu_has_apic bit support so with this patch any attempt
    > > > to write to 82489DX will success. So the former code has
    > > > been using "OR" by a purpose, there is no error.
    > >
    > > Err, your warning has the following false positive:
    > >
    > > cpu_has_apic == true and disable_apic == true
    >
    > This combination impossible at moment (by "impossible" I mean
    > at moment of apic_write action). When apic disabled via boot
    > option cpu_has_apic cleared as well.
    >
    > static int __init setup_disableapic(char *arg)
    > {
    > disable_apic = 1;
    > setup_clear_cpu_cap(X86_FEATURE_APIC);
    > return 0;
    > }
    >
    > And, btw if some code is trying to write to apic when
    > it's disabled via boot option -- it means the code is
    > buggy and this is not a false positive but rather proper
    > warning.
    >
    > Thomas, if you've changed this code I suppose you saw some
    > warning triggered, right? Could you pointed me on it?

    http://www.kerneloops.org/searchweek.php?search=native_apic_write_dummy


    \
     
     \ /
      Last update: 2009-12-07 17:59    [W:0.025 / U:2.792 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site