From: Michal Hocko <mhocko@kernel.org>
To: Johannes Weiner <hannes@cmpxchg.org>
Cc: Stable tree <stable@vger.kernel.org>,
linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Jan Kara <jack@suse.cz>
Subject: Re: [Stable 4.4 - NEEDS REVIEW - 2/3] mm: filemap: don't plant shadow entries without radix tree node
Date: Mon, 24 Oct 2016 21:08:17 +0200 [thread overview]
Message-ID: <20161024190816.GE13148@dhcp22.suse.cz> (raw)
In-Reply-To: <20161024185600.GB28326@cmpxchg.org>
On Mon 24-10-16 14:56:00, Johannes Weiner wrote:
> Hi Michal,
>
> On Mon, Oct 24, 2016 at 05:26:04PM +0200, Michal Hocko wrote:
> > @@ -155,44 +155,27 @@ static void page_cache_tree_delete(struct address_space *mapping,
> > struct page *page, void *shadow)
> > {
> > struct radix_tree_node *node;
> > - unsigned long index;
> > - unsigned int offset;
> > - unsigned int tag;
> > void **slot;
> >
> > VM_BUG_ON(!PageLocked(page));
> >
> > __radix_tree_lookup(&mapping->page_tree, page->index, &node, &slot);
> >
> > - if (shadow) {
> > - mapping->nrshadows++;
> > - /*
> > - * Make sure the nrshadows update is committed before
> > - * the nrpages update so that final truncate racing
> > - * with reclaim does not see both counters 0 at the
> > - * same time and miss a shadow entry.
> > - */
> > - smp_wmb();
> > - }
> > - mapping->nrpages--;
> > + radix_tree_clear_tags(&mapping->page_tree, node, slot);
> >
> > if (!node) {
> > - /* Clear direct pointer tags in root node */
> > - mapping->page_tree.gfp_mask &= __GFP_BITS_MASK;
> > - radix_tree_replace_slot(slot, shadow);
> > - return;
> > - }
>
> There is no need to include the refactoring of the tag clearing in the
> stable backport. I already sent a simpler backport of this patch for
> 4.4 to Greg, attached here for reference:
I do not see this in 4.4 so maybe it's fallen through cracks. Yours
definitely looks easier and I will use it. I will post all 4 patches for
inclusion for stable tomorrow unless something else pops out.
Thanks for the review again!
--
Michal Hocko
SUSE Labs
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org>
To: Johannes Weiner <hannes@cmpxchg.org>
Cc: Stable tree <stable@vger.kernel.org>,
linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Jan Kara <jack@suse.cz>
Subject: Re: [Stable 4.4 - NEEDS REVIEW - 2/3] mm: filemap: don't plant shadow entries without radix tree node
Date: Mon, 24 Oct 2016 21:08:17 +0200 [thread overview]
Message-ID: <20161024190816.GE13148@dhcp22.suse.cz> (raw)
In-Reply-To: <20161024185600.GB28326@cmpxchg.org>
On Mon 24-10-16 14:56:00, Johannes Weiner wrote:
> Hi Michal,
>
> On Mon, Oct 24, 2016 at 05:26:04PM +0200, Michal Hocko wrote:
> > @@ -155,44 +155,27 @@ static void page_cache_tree_delete(struct address_space *mapping,
> > struct page *page, void *shadow)
> > {
> > struct radix_tree_node *node;
> > - unsigned long index;
> > - unsigned int offset;
> > - unsigned int tag;
> > void **slot;
> >
> > VM_BUG_ON(!PageLocked(page));
> >
> > __radix_tree_lookup(&mapping->page_tree, page->index, &node, &slot);
> >
> > - if (shadow) {
> > - mapping->nrshadows++;
> > - /*
> > - * Make sure the nrshadows update is committed before
> > - * the nrpages update so that final truncate racing
> > - * with reclaim does not see both counters 0 at the
> > - * same time and miss a shadow entry.
> > - */
> > - smp_wmb();
> > - }
> > - mapping->nrpages--;
> > + radix_tree_clear_tags(&mapping->page_tree, node, slot);
> >
> > if (!node) {
> > - /* Clear direct pointer tags in root node */
> > - mapping->page_tree.gfp_mask &= __GFP_BITS_MASK;
> > - radix_tree_replace_slot(slot, shadow);
> > - return;
> > - }
>
> There is no need to include the refactoring of the tag clearing in the
> stable backport. I already sent a simpler backport of this patch for
> 4.4 to Greg, attached here for reference:
I do not see this in 4.4 so maybe it's fallen through cracks. Yours
definitely looks easier and I will use it. I will post all 4 patches for
inclusion for stable tomorrow unless something else pops out.
Thanks for the review again!
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2016-10-24 19:08 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-24 15:26 [Stable 4.4 - NEEDS REVIEW - 0/3] mm: working set fixes Michal Hocko
2016-10-24 15:26 ` Michal Hocko
2016-10-24 15:26 ` [Stable 4.4 - NEEDS REVIEW - 1/3] mm: workingset: fix crash in shadow node shrinker caused by replace_page_cache_page() Michal Hocko
2016-10-24 15:26 ` Michal Hocko
2016-10-24 18:52 ` Johannes Weiner
2016-10-24 18:52 ` Johannes Weiner
2016-10-24 18:58 ` Michal Hocko
2016-10-24 18:58 ` Michal Hocko
2016-10-24 15:26 ` [Stable 4.4 - NEEDS REVIEW - 2/3] mm: filemap: don't plant shadow entries without radix tree node Michal Hocko
2016-10-24 15:26 ` Michal Hocko
2016-10-24 18:56 ` Johannes Weiner
2016-10-24 18:56 ` Johannes Weiner
2016-10-24 19:08 ` Michal Hocko [this message]
2016-10-24 19:08 ` Michal Hocko
2016-10-24 15:26 ` [Stable 4.4 - NEEDS REVIEW - 3/3] mm: filemap: fix mapping->nrpages double accounting in fuse Michal Hocko
2016-10-24 15:26 ` Michal Hocko
2016-10-24 18:56 ` Johannes Weiner
2016-10-24 18:56 ` Johannes Weiner
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=20161024190816.GE13148@dhcp22.suse.cz \
--to=mhocko@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=jack@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=stable@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/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: link
Be 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.