From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935473AbZLGQ4D (ORCPT ); Mon, 7 Dec 2009 11:56:03 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S935465AbZLGQ4B (ORCPT ); Mon, 7 Dec 2009 11:56:01 -0500 Received: from www.tglx.de ([62.245.132.106]:49927 "EHLO www.tglx.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935464AbZLGQz7 (ORCPT ); Mon, 7 Dec 2009 11:55:59 -0500 Date: Mon, 7 Dec 2009 17:55:37 +0100 (CET) From: Thomas Gleixner To: Cyrill Gorcunov cc: mingo@redhat.com, hpa@zytor.com, linux-kernel@vger.kernel.org, mingo@elte.hu, linux-tip-commits@vger.kernel.org Subject: Re: [tip:x86/urgent] x86: Fix bogus warning in apic_noop.apic_write() In-Reply-To: <20091207163057.GB5489@lenovo> Message-ID: References: <20091207150425.GA5489@lenovo> <20091207163057.GB5489@lenovo> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > > > > AuthorDate: Mon, 7 Dec 2009 12:59:46 +0100 > > > > Committer: Ingo Molnar > > > > 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 > > > > Cc: Cyrill Gorcunov > > > > Cc: # in <= .32 this typo resides in native_apic_write_dummy() > > > > LKML-Reference: > > > > Signed-off-by: Ingo Molnar > > > > --- > > > > 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