From: Joel Fernandes <joel@joelfernandes.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Naresh Kamboju <naresh.kamboju@linaro.org>,
"Kirill A. Shutemov" <kirill@shutemov.name>,
William Kucharski <william.kucharski@oracle.com>,
linux- stable <stable@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>, Arnd Bergmann <arnd@arndb.de>,
Andrew Morton <akpm@linux-foundation.org>,
Roman Gushchin <guro@fb.com>, Michal Hocko <mhocko@kernel.org>,
lkft-triage@lists.linaro.org, Chris Down <chris@chrisdown.name>,
Michel Lespinasse <walken@google.com>,
Fan Yang <Fan_Yang@sjtu.edu.cn>,
Brian Geffon <bgeffon@google.com>,
Anshuman Khandual <anshuman.khandual@arm.com>,
Will Deacon <will@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
pugaowei@gmail.com, Jerome Glisse <jglisse@redhat.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Mel Gorman <mgorman@techsingularity.net>,
Hugh Dickins <hughd@google.com>,
Al Viro <viro@zeniv.linux.org.uk>, Tejun Heo <tj@kernel.org>,
Sasha Levin <sashal@kernel.org>, Oleg Nesterov <oleg@redhat.com>
Subject: Re: WARNING: at mm/mremap.c:211 move_page_tables in i386
Date: Sat, 11 Jul 2020 19:33:44 -0400 [thread overview]
Message-ID: <20200711233344.GB2608903@google.com> (raw)
In-Reply-To: <CAHk-=wj_Bqu5n3OJCnKiO_gs97fYEpdx6eSacEw2kv9YnnSv_w@mail.gmail.com>
On Sat, Jul 11, 2020 at 11:12:58AM -0700, Linus Torvalds wrote:
> On Sat, Jul 11, 2020 at 10:27 AM Naresh Kamboju
> <naresh.kamboju@linaro.org> wrote:
> >
> > I have started bisecting this problem and found the first bad commit
>
> Thanks for the effort. Bisection is often a great tool to figure out
> what's wrong.
>
> Sadly, in this case:
>
> > commit 9f132f7e145506efc0744426cb338b18a54afc3b
> > Author: Joel Fernandes (Google) <joel@joelfernandes.org>
> > Date: Thu Jan 3 15:28:41 2019 -0800
> >
> > mm: select HAVE_MOVE_PMD on x86 for faster mremap
>
> Yeah, that's just the commit that enables the code, not the commit
> that introduces the fundamental problem.
>
> That said, this is a prime example of why I absolutely detest patch
> series that do this kind of thing, and are several patches that create
> new functionality, followed by one patch to enable it.
>
> If you can't get things working incrementally, maybe you shouldn't do
> them at all. Doing a big series of "hidden work" and then enabling it
> later is wrong.
>
> In this case, though, the real patch that did the code isn't that kind
> of "big series of hidden work" patch series, it's just the (single)
> previous commit 2c91bd4a4e2e ("mm: speed up mremap by 20x on large
> regions").
>
> So your bisection is useful, it's just that it really points to that
> previous commit, and it's where this code was introduced.
Right, I think I should have squashed the enabling of the config, and the
introduction of the feature in the same patch, but as you pointed that
probably would not have made a difference with this bisect since this a
single patch.
> It's also worth noting that that commit doesn't really *break*
> anything, since it just falls back to the old behavior when it warns.
Agreed, I am also of the opinion that the patch is likely surface an existing
issue and not introducing a new one.
> So to "fix" your test-case, we could just remove the WARN_ON.
>
> But the WARN_ON() is still worrisome, because the thing it tests for
> really _should_ be true.
I'll get some tracing in an emulated i386 environment going and try to figure
out exactly what is going on before the warning triggers. thanks for the other
debug hints in this thread!
thanks,
- Joel
- Joel
next prev parent reply other threads:[~2020-07-11 23:33 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-09 5:28 Naresh Kamboju
2020-07-09 8:25 ` Arnd Bergmann
2020-07-10 4:17 ` Naresh Kamboju
2020-07-09 19:12 ` Linus Torvalds
2020-07-10 4:28 ` Naresh Kamboju
2020-07-10 5:22 ` Linus Torvalds
2020-07-10 17:48 ` Naresh Kamboju
2020-07-10 20:05 ` Linus Torvalds
2020-07-11 17:27 ` Naresh Kamboju
2020-07-11 18:12 ` Linus Torvalds
2020-07-11 18:21 ` Linus Torvalds
2020-07-11 23:33 ` Joel Fernandes [this message]
2020-07-12 17:30 ` Matthew Wilcox
2020-07-12 20:38 ` Linus Torvalds
2020-07-12 21:50 ` Joel Fernandes
2020-07-12 22:58 ` Linus Torvalds
2020-07-13 2:53 ` Joel Fernandes
2020-07-13 3:51 ` Linus Torvalds
2020-07-13 12:12 ` Joel Fernandes
2020-07-14 7:33 ` Kirill A. Shutemov
2020-07-14 11:27 ` Naresh Kamboju
2020-07-14 16:08 ` Joel Fernandes
2020-07-14 16:10 ` Linus Torvalds
2020-07-14 18:12 ` Joel Fernandes
2020-07-14 18:49 ` Linus Torvalds
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=20200711233344.GB2608903@google.com \
--to=joel@joelfernandes.org \
--cc=Fan_Yang@sjtu.edu.cn \
--cc=akpm@linux-foundation.org \
--cc=anshuman.khandual@arm.com \
--cc=arnd@arndb.de \
--cc=bgeffon@google.com \
--cc=catalin.marinas@arm.com \
--cc=chris@chrisdown.name \
--cc=gregkh@linuxfoundation.org \
--cc=guro@fb.com \
--cc=hughd@google.com \
--cc=jglisse@redhat.com \
--cc=kirill@shutemov.name \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lkft-triage@lists.linaro.org \
--cc=mgorman@techsingularity.net \
--cc=mhocko@kernel.org \
--cc=naresh.kamboju@linaro.org \
--cc=oleg@redhat.com \
--cc=pugaowei@gmail.com \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
--cc=walken@google.com \
--cc=will@kernel.org \
--cc=william.kucharski@oracle.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox