On Wed, Jul 25, 2012 at 01:51:01PM -0500, Christoph Lameter wrote: > On Fri, 20 Jul 2012, Kirill A. Shutemov wrote: > > > From: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> > > > > Clearing a 2MB huge page will typically blow away several levels of CPU > > caches. To avoid this only cache clear the 4K area around the fault > > address and use a cache avoiding clears for the rest of the 2MB area. > > why exempt the 4K around the fault address? Is there a regression if that > is not exempted? You would get an immediate cache miss when the faulting instruction is reexecuted. > > I guess for anonymous huge pages one may assume that there will be at > least one write to one cache line in the 4k page. Is it useful to get all > the cachelines in the page in the cache. We did some measurements -- comparing 4K and 2MB with some tracing of fault patterns -- and a lot of apps don't use the full 2MB area. The apps with THP regressions usually used less than others. The patchkit significantly reduced some of the regressions. > > Also note that if we get later into hugepage use for the page cache we > would want the cache to be cold because the contents have to come in from > a storage medium. Page cache is not cleared, so never runs this code. -Andi -- ak@xxxxxxxxxxxxxxx -- Speaking for myself only -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>