On Tue, Mar 24, 2015 at 08:39:49PM +0300, Konstantin Khlebnikov wrote: > On Thu, Mar 19, 2015 at 8:08 PM, Kirill A. Shutemov > <kirill.shute...@linux.intel.com> wrote: > > Currently we take naive approach to page flags on compound -- we set the > > flag on the page without consideration if the flag makes sense for tail > > page or for compound page in general. This patchset try to sort this out > > by defining per-flag policy on what need to be done if page-flag helper > > operate on compound page. > > > > The last patch in patchset also sanitize usege of page->mapping for tail > > pages. We don't define meaning of page->mapping for tail pages. Currently > > it's always NULL, which can be inconsistent with head page and potentially > > lead to problems. > > > > For now I catched one case of illigal usage of page flags or ->mapping: > > sound subsystem allocates pages with __GFP_COMP and maps them with PTEs. > > It leads to setting dirty bit on tail pages and access to tail_page's > > ->mapping. I don't see any bad behaviour caused by this, but worth fixing > > anyway. > > Do you mean call of set_page_dirty() from zap_pte_range() ?
No. I trigger it earlier: set_page_dirty() from do_shared_fault(). > I think this should be replaced with vma operation: > vma->vm_ops->set_page_dirty() Does anybody know why would we want to dirtying pages with ->mapping == NULL? I don't see a place where we can make any use of this. We probably could avoid dirting such pages. Hm? -- Kirill A. Shutemov -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/