From: Hugh Dickins <hughd@google.com> To: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> Cc: Andrew Morton <akpm@linux-foundation.org>, Andrea Arcangeli <aarcange@redhat.com>, Hugh Dickins <hughd@google.com>, Dave Hansen <dave.hansen@intel.com>, Mel Gorman <mgorman@suse.de>, Rik van Riel <riel@redhat.com>, Vlastimil Babka <vbabka@suse.cz>, Christoph Lameter <cl@gentwo.org>, Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>, Steve Capper <steve.capper@linaro.org>, "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>, Johannes Weiner <hannes@cmpxchg.org>, Michal Hocko <mhocko@suse.cz>, Jerome Marchand <jmarchan@redhat.com>, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 00/16] Sanitize usage of ->flags and ->mapping for tail pages Date: Sun, 22 Mar 2015 17:28:47 -0700 (PDT) [thread overview] Message-ID: <alpine.LSU.2.11.1503221713370.3913@eggly.anvils> (raw) In-Reply-To: <1426784902-125149-1-git-send-email-kirill.shutemov@linux.intel.com> On Thu, 19 Mar 2015, Kirill A. Shutemov 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. But there's nothing to fix there. We're more used to having page->mapping set by filesystems, but it is normal for drivers to have pages with NULL page->mapping mapped into userspace (and it's not accidental that they appear !PageAnon); and subpages of compound pages mapped into userspace, and set_page_dirty applied to them. > > This patchset makes more sense if you take my THP refcounting into > account: we will see more compound pages mapped with PTEs and we need to > define behaviour of flags on compound pages to avoid bugs. Yes, I quite understand that you want to clarify the usage of different page flags to yourself, to help towards a policy of what to do with each of them when subpages of a huge compound page are mapped into userspace; but I don't see that we need this patchset in the kernel now, given that it adds unnecessary overhead into several low-level inline functions. I'm surprised that Andrew has fast-tracked it into his mmotm tree: I don't think it's harmful beyond the overhead, but it seems premature: let's wait until we get some benefit too? Hugh
WARNING: multiple messages have this Message-ID (diff)
From: Hugh Dickins <hughd@google.com> To: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> Cc: Andrew Morton <akpm@linux-foundation.org>, Andrea Arcangeli <aarcange@redhat.com>, Hugh Dickins <hughd@google.com>, Dave Hansen <dave.hansen@intel.com>, Mel Gorman <mgorman@suse.de>, Rik van Riel <riel@redhat.com>, Vlastimil Babka <vbabka@suse.cz>, Christoph Lameter <cl@gentwo.org>, Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>, Steve Capper <steve.capper@linaro.org>, "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>, Johannes Weiner <hannes@cmpxchg.org>, Michal Hocko <mhocko@suse.cz>, Jerome Marchand <jmarchan@redhat.com>, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 00/16] Sanitize usage of ->flags and ->mapping for tail pages Date: Sun, 22 Mar 2015 17:28:47 -0700 (PDT) [thread overview] Message-ID: <alpine.LSU.2.11.1503221713370.3913@eggly.anvils> (raw) In-Reply-To: <1426784902-125149-1-git-send-email-kirill.shutemov@linux.intel.com> On Thu, 19 Mar 2015, Kirill A. Shutemov 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. But there's nothing to fix there. We're more used to having page->mapping set by filesystems, but it is normal for drivers to have pages with NULL page->mapping mapped into userspace (and it's not accidental that they appear !PageAnon); and subpages of compound pages mapped into userspace, and set_page_dirty applied to them. > > This patchset makes more sense if you take my THP refcounting into > account: we will see more compound pages mapped with PTEs and we need to > define behaviour of flags on compound pages to avoid bugs. Yes, I quite understand that you want to clarify the usage of different page flags to yourself, to help towards a policy of what to do with each of them when subpages of a huge compound page are mapped into userspace; but I don't see that we need this patchset in the kernel now, given that it adds unnecessary overhead into several low-level inline functions. I'm surprised that Andrew has fast-tracked it into his mmotm tree: I don't think it's harmful beyond the overhead, but it seems premature: let's wait until we get some benefit too? Hugh -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2015-03-23 0:28 UTC|newest] Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-03-19 17:08 [PATCH 00/16] Sanitize usage of ->flags and ->mapping for tail pages Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 01/16] mm: consolidate all page-flags helpers in <linux/page-flags.h> Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-23 0:10 ` Hugh Dickins 2015-03-23 0:10 ` Hugh Dickins 2015-03-19 17:08 ` [PATCH 02/16] page-flags: trivial cleanup for PageTrans* helpers Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-23 0:12 ` Hugh Dickins 2015-03-23 0:12 ` Hugh Dickins 2015-03-19 17:08 ` [PATCH 03/16] page-flags: introduce page flags policies wrt compound pages Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-20 20:35 ` Andrew Morton 2015-03-20 20:35 ` Andrew Morton 2015-03-20 21:34 ` Kirill A. Shutemov 2015-03-20 21:34 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 04/16] page-flags: define PG_locked behavior on " Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-27 15:11 ` Mateusz Krawczuk 2015-03-27 15:11 ` Mateusz Krawczuk 2015-03-27 15:13 ` Mateusz Krawczuk 2015-03-27 15:13 ` Mateusz Krawczuk 2015-03-27 15:13 ` Mateusz Krawczuk 2015-03-27 16:37 ` Kirill A. Shutemov 2015-03-27 16:37 ` Kirill A. Shutemov 2015-03-27 16:37 ` Kirill A. Shutemov 2015-07-15 20:20 ` Christoph Lameter 2015-07-15 20:20 ` Christoph Lameter 2015-08-06 4:15 ` page-flags behavior on compound pages: a worry Hugh Dickins 2015-08-06 4:15 ` Hugh Dickins 2015-08-06 15:33 ` Kirill A. Shutemov 2015-08-06 15:33 ` Kirill A. Shutemov 2015-08-06 19:24 ` Hugh Dickins 2015-08-06 19:24 ` Hugh Dickins 2015-08-06 20:45 ` Christoph Lameter 2015-08-06 20:45 ` Christoph Lameter 2015-08-07 14:50 ` Kirill A. Shutemov 2015-08-07 14:50 ` Kirill A. Shutemov 2015-08-07 15:28 ` Christoph Lameter 2015-08-07 15:28 ` Christoph Lameter 2015-08-10 11:09 ` Kirill A. Shutemov 2015-08-10 11:09 ` Kirill A. Shutemov 2015-08-10 13:50 ` Christoph Lameter 2015-08-10 13:50 ` Christoph Lameter 2015-08-07 14:49 ` Kirill A. Shutemov 2015-08-07 14:49 ` Kirill A. Shutemov 2015-08-13 5:10 ` Hugh Dickins 2015-08-13 5:10 ` Hugh Dickins 2015-08-12 14:35 ` Kirill A. Shutemov 2015-08-12 14:35 ` Kirill A. Shutemov 2015-08-12 14:47 ` Vlastimil Babka 2015-08-12 14:47 ` Vlastimil Babka 2015-08-12 21:16 ` Andrew Morton 2015-08-12 21:16 ` Andrew Morton 2015-08-12 22:21 ` Kirill A. Shutemov 2015-08-12 22:21 ` Kirill A. Shutemov 2015-08-13 4:12 ` Hugh Dickins 2015-08-13 4:12 ` Hugh Dickins 2015-03-19 17:08 ` [PATCH 05/16] page-flags: define behavior of FS/IO-related flags on compound pages Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 18:29 ` Dave Hansen 2015-03-19 18:29 ` Dave Hansen 2015-03-19 20:02 ` Kirill A. Shutemov 2015-03-19 20:02 ` Kirill A. Shutemov 2015-03-23 0:02 ` Hugh Dickins 2015-03-23 0:02 ` Hugh Dickins 2015-03-23 12:17 ` Kirill A. Shutemov 2015-03-23 12:17 ` Kirill A. Shutemov 2015-03-24 22:54 ` Hugh Dickins 2015-03-24 22:54 ` Hugh Dickins 2015-03-25 10:23 ` Kirill A. Shutemov 2015-03-25 10:23 ` Kirill A. Shutemov 2015-03-25 18:56 ` Hugh Dickins 2015-03-25 18:56 ` Hugh Dickins 2015-03-19 17:08 ` [PATCH 06/16] page-flags: define behavior of LRU-related " Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 07/16] page-flags: define behavior SL*B-related " Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 08/16] page-flags: define behavior of Xen-related " Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 09/16] page-flags: define PG_reserved behavior " Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2020-01-31 15:24 ` Chris Wilson 2020-02-03 15:18 ` Kirill A. Shutemov 2020-02-03 15:24 ` Chris Wilson 2020-02-03 17:10 ` David Hildenbrand 2020-02-03 17:29 ` Christoph Hellwig 2015-03-19 17:08 ` [PATCH 10/16] page-flags: define PG_swapbacked " Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 11/16] page-flags: define PG_swapcache " Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 12/16] page-flags: define PG_mlocked " Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 13/16] page-flags: define PG_uncached " Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 14/16] page-flags: define PG_uptodate " Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 15/16] page-flags: look on head page if the flag is encoded in page->mapping Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-19 17:08 ` [PATCH 16/16] mm: sanitize page->mapping for tail pages Kirill A. Shutemov 2015-03-19 17:08 ` Kirill A. Shutemov 2015-03-23 0:28 ` Hugh Dickins [this message] 2015-03-23 0:28 ` [PATCH 00/16] Sanitize usage of ->flags and ->mapping " Hugh Dickins 2015-03-23 10:04 ` Kirill A. Shutemov 2015-03-23 10:04 ` Kirill A. Shutemov 2015-03-24 23:42 ` Hugh Dickins 2015-03-24 23:42 ` Hugh Dickins 2015-03-25 10:55 ` Kirill A. Shutemov 2015-03-25 10:55 ` Kirill A. Shutemov 2015-03-24 17:39 ` Konstantin Khlebnikov 2015-03-24 17:39 ` Konstantin Khlebnikov 2015-03-24 20:04 ` Kirill A. Shutemov 2015-03-24 20:04 ` Kirill A. Shutemov 2015-07-15 20:20 ` Christoph Lameter 2015-07-15 20:20 ` Christoph Lameter 2015-07-15 21:18 ` Kirill A. Shutemov 2015-07-15 21:18 ` Kirill A. Shutemov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=alpine.LSU.2.11.1503221713370.3913@eggly.anvils \ --to=hughd@google.com \ --cc=aarcange@redhat.com \ --cc=akpm@linux-foundation.org \ --cc=aneesh.kumar@linux.vnet.ibm.com \ --cc=cl@gentwo.org \ --cc=dave.hansen@intel.com \ --cc=hannes@cmpxchg.org \ --cc=jmarchan@redhat.com \ --cc=kirill.shutemov@linux.intel.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mgorman@suse.de \ --cc=mhocko@suse.cz \ --cc=n-horiguchi@ah.jp.nec.com \ --cc=riel@redhat.com \ --cc=steve.capper@linaro.org \ --cc=vbabka@suse.cz \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.