From: Heiko Carstens <heiko.carstens@de.ibm.com>
To: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: kirill@shutemov.name, walken@google.com,
akpm@linux-foundation.org, linux-mm@kvack.org, "Huang,
Ying" <ying.huang@intel.com>
Subject: Re: Mlocked pages statistics shows bogus value.
Date: Wed, 20 Jan 2016 10:59:49 +0100 [thread overview]
Message-ID: <20160120095949.GE3395@osiris> (raw)
In-Reply-To: <201601192238.CEH73964.MOtFFLJVOOSHQF@I-love.SAKURA.ne.jp>
(added "Huang, Ying" <ying.huang@intel.com> to cc.)
On Tue, Jan 19, 2016 at 10:38:50PM +0900, Tetsuo Handa wrote:
> Kirill A. Shutemov wrote:
> > On Tue, Jan 19, 2016 at 09:46:21PM +0900, Tetsuo Handa wrote:
> > > Kirill A. Shutemov wrote:
> > > > Oh. Looks like a bug from 2013...
> > > >
> > > > Thanks for report.
> > > > For unsigned int nr_pages, implicitly casted to long in
> > > > __mod_zone_page_state(), it becomes something around UINT_MAX.
> > > >
> > > > munlock_vma_page() usually called for THP as small pages go though
> > > > pagevec.
> > > >
> > > > Let's make nr_pages singed int.
> > > >
> > > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > > > Fixes: ff6a6da60b89 ("mm: accelerate munlock() treatment of THP pages")
> > > > Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> > > > Cc: Michel Lespinasse <walken@google.com>
> > > > ---
> > > > mm/mlock.c | 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/mm/mlock.c b/mm/mlock.c
> > > > index e1e2b1207bf2..96f001041928 100644
> > > > --- a/mm/mlock.c
> > > > +++ b/mm/mlock.c
> > > > @@ -175,7 +175,7 @@ static void __munlock_isolation_failed(struct page *page)
> > > > */
> > > > unsigned int munlock_vma_page(struct page *page)
> > > > {
> > > > - unsigned int nr_pages;
> > > > + int nr_pages;
> > > > struct zone *zone = page_zone(page);
> > > >
> > > > /* For try_to_munlock() and to serialize with page migration */
> > > > --
> > > > Kirill A. Shutemov
> > > >
>
> I tested your patch on Linux 4.4 and confirmed that your patch fixed this bug.
> Please also send to stable.
>
> Cc: <stable@vger.kernel.org> [4.4+]
>
> > > Don't we want to use "long" than "int" for all variables that count number
> > > of pages, for recently commit 6cdb18ad98a49f7e9b95d538a0614cde827404b8
> > > "mm/vmstat: fix overflow in mod_zone_page_state()" changed to use "long" ?
> >
> > Potentially, yes. But here we count number of small pages in the compound
> > page. We're far from being able to allocate 8 terabyte pages ;)
>
> That commit says "we have a 9TB system with only one node".
> You might encounter such machines in near future. ;-)
>
> >
> > Anyway, it's out-of-scope for this bug fix.
> >
> > My "Fixes:" is probably misleading, since we don't have bug visible until
> > 6cdb18ad98a4.
Please also mention 6cdb18ad98a4 in the changelog. I didn't request to add
my "obviously correct" ;) patch to be added to -stable.
But just in case somebody backports it..
There was also a performance regression reported that was introduced with
6cdb18ad98a4. However I couldn't make any sense of it. Maybe this patch
fixes it also?
See https://lkml.org/lkml/2016/1/5/1103
--
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:[~2016-01-20 9:59 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-19 10:36 Mlocked pages statistics shows bogus value Tetsuo Handa
2016-01-19 12:21 ` Kirill A. Shutemov
2016-01-19 12:46 ` Tetsuo Handa
2016-01-19 13:01 ` Kirill A. Shutemov
2016-01-19 13:38 ` Tetsuo Handa
2016-01-20 9:59 ` Heiko Carstens [this message]
2016-01-20 10:04 ` Heiko Carstens
2016-01-19 18:32 ` Michal Hocko
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=20160120095949.GE3395@osiris \
--to=heiko.carstens@de.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=kirill@shutemov.name \
--cc=linux-mm@kvack.org \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=walken@google.com \
--cc=ying.huang@intel.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 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.