Re: scalable kmap (was Re: vm lock contention reduction)

William Lee Irwin III
2002-07-09T06:30:28Z

On Mon, Jul 08, 2002 at 11:15:52PM -0700, Martin J. Bligh wrote:
> wli might care to elaborate on 2 & 3, since I think he helped
> them identify / fix (helped maybe meaning did).
> 1. Irqbalance doesn't like clustered apic mode (have hack)
> 2. Using ioremap fairly early catches cpu_online_map set to 0
> for some reason (have hack).
> 3. Something to do with BIO that I'll let Bill explain, but I
> am given to believe it's well known (have hack).

(1) irqbalance is blatantly stuffing flat bitmasks into ICR2
this breaks clustered hierarchical destination format
everywhere all the time

(2) ioremap wants to flush_tlb_all() before cpu_online_map is
initialized. This results in smp_call_function() spinning
until an atomic_t goes to -1, which never happens since it
doesn't kick any cpu's to decrement the counter.

(3) The bio thing is just the usual queue max_sectors where you've
recommended decreasing the MPAGE max sectors so the bio
constraints are satisfied before they hit elevator.c where
a BUG_ON() is triggered instead of a bio split.

Cheers,
Bill