Re: [PATCH] x86: have set_memory_array_{uc,wb} coalesce memtypes.

From: Ingo Molnar
Date: Fri Aug 22 2008 - 00:16:28 EST



* Rene Herman <rene.herman@xxxxxxxxxxxx> wrote:

> Actually, might as well simply reconstruct the memtype list at free
> time I guess. How is this for a coalescing version of the array
> functions?

impressive! Rarely do we get this much bang for such a low linecount :-)

> NOTE: I am posting this because I'm going to bed but haven't stared
> comfortably long at this and might be buggy. Compiles, boots and
> provides me with:
>
> root@7ixe4:~# wc -l /debug/x86/pat_memtype_list
> 53 /debug/x86/pat_memtype_list
>
> otherwise (down from 16384+).
>
> <snore>

cool!

I'd do this in v2.6.27 but i forced myself to be reasonable and applied
your patches to tip/x86/pat instead, for tentative v2.6.28 merging
(assuming it all passes testing, etc.):

# 9a79f4f: x86: {reverve,free}_memtype() take a physical address
# c5e147c: x86: have set_memory_array_{uc,wb} coalesce memtypes.
# 5f310b6: agp: enable optimized agp_alloc_pages methods

( note that i flipped them around a bit and have put your
enable-agp_alloc_pages()-widely patch last, so that we get better
bisection behavior. )

The frontside cache itself is in x86/urgent:

# 80c5e73: x86: fix Xorg startup/shutdown slowdown with PAT

... and should at least solve the symptom that you've hit in practice
(the slowdown), without changing the underlying PAT machinery. (which
would be way too dangerous for v2.6.27)

And it's all merged up in tip/master, you might want to test that too to
check whether all the pieces fit together nicely.

Tens of thousands of page granular memtypes was Not Nice.

Venki, Suresh, Shaohua, Dave, Arjan - any observations about this line
of action?

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/