Messages in this thread | | | Date | Fri, 22 Aug 2008 06:15:44 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH] x86: have set_memory_array_{uc,wb} coalesce memtypes. |
| |
* Rene Herman <rene.herman@keyaccess.nl> 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
| |