All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: John David Anglin <dave.anglin@bell.net>
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>,
	Graham Gower <graham.gower@gmail.com>,
	Domenico Andreoli <cavokz@gmail.com>,
	linux-parisc List <linux-parisc@vger.kernel.org>
Subject: Re: BUG: non-zero nr_pmds on freeing mm: -1
Date: Fri, 13 Mar 2015 00:07:56 +0200	[thread overview]
Message-ID: <20150312220756.GA4792@node.dhcp.inet.fi> (raw)
In-Reply-To: <BLU436-SMTP114E0E2B73148E5EE40047897060@phx.gbl>

On Thu, Mar 12, 2015 at 03:51:11PM -0400, John David Anglin wrote:
> On 2015-03-12 3:35 PM, Aaro Koskinen wrote:
> >Hi,
> >
> >On Wed, Mar 11, 2015 at 08:21:35PM -0400, John David Anglin wrote:
> >>On 2015-03-11, at 7:31 PM, Graham Gower wrote:
> >>>I thought this patch was supposed to address the problem?
> >>>https://lkml.org/lkml/2015/2/26/230
> >>>
> >>>However, its not fixed it for me either in 4.0.0-rc3.
> >>I doubt the patch is correct for parisc. I believe the system where
> >>I saw the BUG messages has PT_NLEVELS == 3.
> >For 32-bit kernels, the fix helped.
> 32-bit kernels have PT_NLEVELS == 2.  I think the define needs to be moved
> outside #if/#endif
> but didn't get a chance to test last night.

There's hack in pgd_alloc() on parisc to initialize one pmd, which is not
accounted and we get underflow on exit. We need to adjust accounting for
that pmd.

Could you try the patch below?

diff --git a/arch/parisc/include/asm/pgalloc.h b/arch/parisc/include/asm/pgalloc.h
index f213f5b4c423..8ee9a0bdc468 100644
--- a/arch/parisc/include/asm/pgalloc.h
+++ b/arch/parisc/include/asm/pgalloc.h
@@ -38,6 +38,7 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm)
 		/* The first pmd entry also is marked with _PAGE_GATEWAY as
 		 * a signal that this pmd may not be freed */
 		__pgd_val_set(*pgd, PxD_FLAG_ATTACHED);
+		mm_inc_nr_pmds(mm);
 #endif
 	}
 	return actual_pgd;
-- 
 Kirill A. Shutemov

  parent reply	other threads:[~2015-03-12 22:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-11  2:44 BUG: non-zero nr_pmds on freeing mm: -1 John David Anglin
     [not found] ` <CADjby3WS3cJs2BOmYT4Cdr4i9FncD=BYjrkuQiBH3=VmOndRPw@mail.gmail.com>
2015-03-11 14:14   ` John David Anglin
2015-03-11 23:31     ` Graham Gower
2015-03-12  0:21       ` John David Anglin
2015-03-12 19:35         ` Aaro Koskinen
2015-03-12 19:51           ` John David Anglin
2015-03-12 20:15             ` Aaro Koskinen
2015-03-12 20:47               ` John David Anglin
2015-03-12 22:07             ` Kirill A. Shutemov [this message]
     [not found]               ` <BLU437-SMTP12BED7F073649D0DDB5D0A97070@phx.gbl>
2015-03-13 10:29                 ` 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=20150312220756.GA4792@node.dhcp.inet.fi \
    --to=kirill@shutemov.name \
    --cc=aaro.koskinen@iki.fi \
    --cc=cavokz@gmail.com \
    --cc=dave.anglin@bell.net \
    --cc=graham.gower@gmail.com \
    --cc=linux-parisc@vger.kernel.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.