On 21-08-08 19:15, Rene Herman wrote: > On 21-08-08 14:06, Ingo Molnar wrote: >> Would be nice to test tip/master - it has both that patch included and >> the latest pageattr-array API (with enablement in AGP drivers) >> patchset, done by Shaohua Li, based on Dave's original patch. > > That patch by itself doesn't help any -- the new set_memory_array_uc() > still calls reserve_memtype() for each single page in the array. To > help, it needs to coalesce adjacent entries, which is itself easy to do > were it not for the need to keep the list of reserved (base,end) pairs > around for free_memtype() time (and halfway fail time). 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? 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+). Rene.