lkml.org 
[lkml]   [2009]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH -tip] x86,apic: Use PAGE_SIZE instead of numbers
From
On 11/10/09, Maciej W. Rozycki <macro@linux-mips.org> wrote:
> On Mon, 9 Nov 2009, H. Peter Anvin wrote:
>
>> In theory we could have more than one ioapic packed into a single page,
>> and it is also entirely plausible we'll support other page sizes in x86
>> at some point. However, it's probably easier to flag something as
>> PAGE_SIZE and have to fix it up later than have magic constants, so I
>> think it's probably the right thing to do.
>
> Hmm, the MPS said in Chapter 3.6.5 "APIC Memory Mapping":
>
> "Non-default APIC base addresses can be used if the MP configuration
> table is provided. (Refer to Chapter 4.) However, the local APIC base
> address must be aligned on a 4K boundary, and the I/O APIC base address
> must be aligned on a 1K boundary."
>
> This probably still stands; I suppose it would be safer to define
> IOAPIC_SLOT_SIZE to 1024 and use it by default, expanding all reservations
> as needed where less than PAGE_SIZE / IOAPIC_SLOT_SIZE I/O APICs would be

yes, it would be even more clear, i'll take care

> mapped in a page. This is relatively recent a piece of code -- how much
> has it been tested?
>
> Well, actually not much as a quick search has revealed this message:
>
> http://marc.info/?l=linux-kernel&m=118114792006520
>
> which shows page alignment of I/O APICs clearly does not stand, and
> moreover there are two pairs of I/O APIC in the system reported which
> share a page each. In this case the ranges requested do not make sense
> and some resource insertions will silently fail. And also while page
> aliases created in fixmaps here should not harm, they make me feel a
> little bit chilly...
>
> Overall this piece of code needs an overhaul, fixing resource allocation
> and reusing fixmaps where possible.

Ok

>
> Maciej
>

thanks, Peter, Maciej for comments!
I must admit (to be fair) i was concerning about fixmap itself so that
forgot about 1k alignment requirement :/ Will fix.


\
 
 \ /
  Last update: 2009-11-10 05:43    [W:0.062 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site