[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091208202606.GA4780@lenovo>
Date: Tue, 8 Dec 2009 23:26:06 +0300
From: Cyrill Gorcunov <gorcunov@...il.com>
To: "H. Peter Anvin" <hpa@...or.com>
Cc: tglx@...utronix.de, mingo@...e.hu, macro@...ux-mips.org,
yinghai@...nel.org, linux-kernel@...r.kernel.org
Subject: Re: [patch 2/2] x86,apic: Use logical OR in noop-write operation
On Tue, Dec 08, 2009 at 12:10:24PM -0800, H. Peter Anvin wrote:
> On 12/08/2009 07:53 AM, Cyrill Gorcunov wrote:
> > For apic noop'ified we have to use logical OR statement,
> > otherwise any write on systems shipped with 82489DX
> > (where apic presence bit can't be retrieved via cpuid)
> > will not trigger the warning which is not desired.
> >
> > In turn noop'ified read operation remains using logical
> > AND statement. This will catch _only_ future code bugs
> > since:
> >
> > 1) The old 32bit systems without apic presence bit use
> > disable_apic only as a flag that chip was turned off
> > via boot option but not due to MP-table (BIOS) bug where
> > we may try to re-enable apic via MSR registers. The further
> > SMP setup code already prepared for a such situation
> > (ie it disables SMP support) and do not issue write
> > operations but still needs to issue apic_read. So instead
> > of deforming code with "if" we just allow reads until
> > SMP support gets disabled. But even then we still need
> > apic_read issued on a such machine at shutdown procedure.
> >
> > 2) x86-64 at moment properly uses cpu_has_apic and turn
> > this feature off as only chip is disabled together
> > with disable_apic flag.
> >
>
> Could you clarify the question I asked yesterday: how is the "or"
> different from just warning unconditionally (which would at least be a
> lot more clear)?
Hmm, indeed it seems that unconditional WARN would be more clean
and reliable. Will recheck all apic_write calls.
> Can the situation that !cpu_has_apic && disable_apic
> actually happen and we *still* end up in apic_write?
No, this situation should not take place as far as I remember.
>
> -hpa
>
-- Cyrill
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists