On Fri, Feb 04, 2011 at 09:19:12AM -0800, Dave Hansen wrote: > For code maintenance, I really like _not_ hiding this in the API > somewhere. This way, we have a great, self-explanatory tag wherever > code (possibly) hasn't properly dealt with THPs. We get a nice, > greppable, cscope'able: > > split_huge_page_pmd() > > wherever we need to "teach" the code about THP. > > It's kinda like the BKL. :) It is in my view too ;). However currently it's not greppable if we don't differentiate it a bit from the legitimate/optimal usages. split_huge_page_pmd currently isn't always sign of code not THP aware. It's sign of not THP aware code only for cases like smaps that is readonly in terms of vma/pte mangling, but for example mprotect isn't a readonly thing and it's already fully mprotect aware, but split_huge_page_pmd still comes very handy when userland asks to create a vma that can't fit an hugepmd (there are several other places like that). When that ever happens (like changing protection of only the last 4k of an hugepage backed mapping) replacing the hugepmd with a regular pmd pointing to a pte (where we can alter the protection of only the last 4k) becomes compulsory. So it's not always a sign of lack of optimization, sometime it's needed and userland should be optimized instead ;). -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>