On Tue, Mar 24, 2015 at 04:42:48PM -0700, Hugh Dickins wrote: > On Mon, 23 Mar 2015, Kirill A. Shutemov wrote: > > Yes, it works until some sound driver decide it wants to use > > page->mappging. > > (a) Why would it want to use page->mapping? No idea. > (b) What's the problem if it wants to use page->mapping? It would need to be initalized for all subpages to get core mm see correct value. And this doesn't match with current ->mapping users of __GFP_COMP page (THP and hugetlb) which initialize ->mapping only for head pages. > (c) Or perhaps some __GFP_COMP driver does already use page->mapping? I haven't found any. > > It's just pure luck that it happened to work in this particular case. > > We were lucky that it fitted together without needing extra code, yes. > But this didn't happen by accident, it was known and considered. I don't agree it was considered well enough. > > You only need to pay the expense if you hit tail page which is very rare > > in current kernel. I think we can pay this cost for correctness. > > But it's correct as is. See above. > > > > We will shave some cost of compound_head() if/when my refcounting patchset > > get merged: no need of barrier anymore. > > And if these changes are necessary for that, sure, go ahead: > but as part of that work. I believe the patchset has value by its own. And having it merged makes my life easier. But up to Andrew. -- Kirill A. Shutemov -- 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>