lkml.org 
[lkml]   [2010]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] x86: Don't write io_apic ID if it is not changed
On Sun, Aug 15, 2010 at 12:30:57PM +0400, Cyrill Gorcunov wrote:
> On Sun, Aug 15, 2010 at 12:24:46PM +0400, Cyrill Gorcunov wrote:
> ...
> > As far as I see, this was done by a purpose in former code. Consider the
> > situation when mp_ioapics[apic_id].apicid >= get_physical_broadcast().
> > By code flow (io_apic.c:2099) this set
> >
> > if (mp_ioapics[apic_id].apicid >= get_physical_broadcast()) {
> > printk(KERN_ERR "BIOS bug, IO-APIC#%d ID is %d in the MPC table!...\n",
> > apic_id, mp_ioapics[apic_id].apicid);
> > printk(KERN_ERR "... fixing up to %d. (tell your hw vendor)\n",
> > reg_00.bits.ID);
> > ---> mp_ioapics[apic_id].apicid = reg_00.bits.ID;
> > }
> >
> > So with your patch we always hit "continue" without real changing of ID which
> > is not correct.
> >
> > But perhaps I miss something?
> >
> > -- Cyrill
>
> False alarm Yinghai, of course there is no need to write same value back,
> sorry for noise.
>
> -- Cyrill

Thinking a bit more I guess there might be a sence to write io-apic id
unconditionally, io-apic id is not latched on reset but set to 0 (at least
for old apics) so if we hit id match -- this will be once, but the same
time we will have additional if() for every cycle iteration, not sure
it worth it. Right?

-- Cyrill


\
 
 \ /
  Last update: 2010-08-16 11:09    [W:0.032 / U:0.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site