On Thu, Aug 21, 2008 at 09:15:44PM -0700, Ingo Molnar wrote:
Venki, Suresh, Shaohua, Dave, Arjan - any observations about this
line of action?
The concern I have here is that the coalescing is not guaranteed to
work. We may still end up having horrible worst case latency, even
though this improves the normal case (boot the system, start X, exit
X, reboot the system). It depends on how pages are allocated and how
much memory is there in the system and what else is running etc.
Here on my test system, without this coalescing change I see
[root@localhost ~]# cat /proc/sys/debug/x86/pat_memtype_list | wc -l
19528
With the coalescing change I see
[root@localhost ~]# cat /proc/sys/debug/x86/pat_memtype_list | wc -l
135
quit and restart X
[root@localhost ~]# cat /proc/sys/debug/x86/pat_memtype_list | wc -l
985
I think this as a good workaround for now. But, for long run we still need to
look at other ways of eliminating this overhead (like using page struct
that Suresh mentioned in the other thread).
Also, there seems to be a bug in the error path of the patch. Below should
fix it.