From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: Toshi Kani <toshi.kani@hpe.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com,
akpm@linux-foundation.org, bp@alien8.de, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, x86@kernel.org, jgross@suse.com,
konrad.wilk@oracle.com, elliott@hpe.com
Subject: Re: [PATCH v4 RESEND 4/11] x86/asm: Fix pud/pmd interfaces to handle large PAT bit
Date: Mon, 9 Nov 2015 22:10:55 +0200 [thread overview]
Message-ID: <20151109201054.GA5443@node.shutemov.name> (raw)
In-Reply-To: <1447096601.21443.15.camel@hpe.com>
On Mon, Nov 09, 2015 at 12:16:41PM -0700, Toshi Kani wrote:
> On Mon, 2015-11-09 at 13:06 -0500, Boris Ostrovsky wrote:
> > On 09/17/2015 02:24 PM, Toshi Kani wrote:
> > > Now that we have pud/pmd mask interfaces, which handle pfn & flags
> > > mask properly for the large PAT bit.
> > >
> > > Fix pud/pmd pfn & flags interfaces by replacing PTE_PFN_MASK and
> > > PTE_FLAGS_MASK with the pud/pmd mask interfaces.
> > >
> > > Suggested-by: Juergen Gross <jgross@suse.com>
> > > Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
> > > Cc: Juergen Gross <jgross@suse.com>
> > > Cc: Konrad Wilk <konrad.wilk@oracle.com>
> > > Cc: Thomas Gleixner <tglx@linutronix.de>
> > > Cc: H. Peter Anvin <hpa@zytor.com>
> > > Cc: Ingo Molnar <mingo@redhat.com>
> > > Cc: Borislav Petkov <bp@alien8.de>
> > > ---
> > > arch/x86/include/asm/pgtable.h | 14 ++++++++------
> > > arch/x86/include/asm/pgtable_types.h | 4 ++--
> > > 2 files changed, 10 insertions(+), 8 deletions(-)
> > >
> >
> >
> > Looks like this commit is causing this splat for 32-bit kernels. I am
> > attaching my config file, just in case.
>
> Thanks for the report! I'd like to reproduce the issue since I am not sure how
> this change caused it...
>
> I tried to build a kernel with the attached config file, and got the following
> error. Not sure what I am missing.
The problem is that PMD_PAGE_MASK as well as PUD_PAGE_MASK are 'unsigned
long', not 'unsigned long long'. So on 32-bit with PAE enabled your
pmd_pfn_mask()/pud_pfn_mask() will truncate bits 32..43 of pmd/pudval and
you'll never get proper page frame for pages above 4G.
--
Kirill A. Shutemov
--
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: "Kirill A. Shutemov" <kirill@shutemov.name>
To: Toshi Kani <toshi.kani@hpe.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com,
akpm@linux-foundation.org, bp@alien8.de, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, x86@kernel.org, jgross@suse.com,
konrad.wilk@oracle.com, elliott@hpe.com
Subject: Re: [PATCH v4 RESEND 4/11] x86/asm: Fix pud/pmd interfaces to handle large PAT bit
Date: Mon, 9 Nov 2015 22:10:55 +0200 [thread overview]
Message-ID: <20151109201054.GA5443@node.shutemov.name> (raw)
In-Reply-To: <1447096601.21443.15.camel@hpe.com>
On Mon, Nov 09, 2015 at 12:16:41PM -0700, Toshi Kani wrote:
> On Mon, 2015-11-09 at 13:06 -0500, Boris Ostrovsky wrote:
> > On 09/17/2015 02:24 PM, Toshi Kani wrote:
> > > Now that we have pud/pmd mask interfaces, which handle pfn & flags
> > > mask properly for the large PAT bit.
> > >
> > > Fix pud/pmd pfn & flags interfaces by replacing PTE_PFN_MASK and
> > > PTE_FLAGS_MASK with the pud/pmd mask interfaces.
> > >
> > > Suggested-by: Juergen Gross <jgross@suse.com>
> > > Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
> > > Cc: Juergen Gross <jgross@suse.com>
> > > Cc: Konrad Wilk <konrad.wilk@oracle.com>
> > > Cc: Thomas Gleixner <tglx@linutronix.de>
> > > Cc: H. Peter Anvin <hpa@zytor.com>
> > > Cc: Ingo Molnar <mingo@redhat.com>
> > > Cc: Borislav Petkov <bp@alien8.de>
> > > ---
> > > arch/x86/include/asm/pgtable.h | 14 ++++++++------
> > > arch/x86/include/asm/pgtable_types.h | 4 ++--
> > > 2 files changed, 10 insertions(+), 8 deletions(-)
> > >
> >
> >
> > Looks like this commit is causing this splat for 32-bit kernels. I am
> > attaching my config file, just in case.
>
> Thanks for the report! I'd like to reproduce the issue since I am not sure how
> this change caused it...
>
> I tried to build a kernel with the attached config file, and got the following
> error. Not sure what I am missing.
The problem is that PMD_PAGE_MASK as well as PUD_PAGE_MASK are 'unsigned
long', not 'unsigned long long'. So on 32-bit with PAE enabled your
pmd_pfn_mask()/pud_pfn_mask() will truncate bits 32..43 of pmd/pudval and
you'll never get proper page frame for pages above 4G.
--
Kirill A. Shutemov
next prev parent reply other threads:[~2015-11-09 20:10 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-17 18:24 [PATCH v4 RESEND 0/11] x86/mm: Handle large PAT bit in pud/pmd interfaces Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 1/11] x86/vdso32: Define PGTABLE_LEVELS to 32bit VDSO Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:42 ` [tip:x86/mm] " tip-bot for Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 2/11] x86/asm: Move PUD_PAGE macros to page_types.h Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:42 ` [tip:x86/mm] " tip-bot for Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 3/11] x86/asm: Add pud/pmd mask interfaces to handle large PAT bit Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:43 ` [tip:x86/mm] x86/asm: Add pud/ pmd " tip-bot for Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 4/11] x86/asm: Fix pud/pmd " Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:43 ` [tip:x86/mm] x86/asm: Fix pud/ pmd " tip-bot for Toshi Kani
2015-11-09 18:06 ` [PATCH v4 RESEND 4/11] x86/asm: Fix pud/pmd " Boris Ostrovsky
2015-11-09 19:16 ` Toshi Kani
2015-11-09 19:16 ` Toshi Kani
2015-11-09 19:39 ` Boris Ostrovsky
2015-11-09 19:39 ` Boris Ostrovsky
2015-11-09 20:47 ` Kirill A. Shutemov
2015-11-09 20:47 ` Kirill A. Shutemov
2015-11-09 22:36 ` Boris Ostrovsky
2015-11-09 22:36 ` Boris Ostrovsky
2015-11-09 23:18 ` Toshi Kani
2015-11-09 23:18 ` Toshi Kani
2015-11-10 0:40 ` Toshi Kani
2015-11-10 0:40 ` Toshi Kani
2015-11-09 20:10 ` Kirill A. Shutemov [this message]
2015-11-09 20:10 ` Kirill A. Shutemov
2015-11-09 21:01 ` Toshi Kani
2015-11-09 21:01 ` Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 5/11] x86/asm: Add pud_pgprot() and pmd_pgprot() Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:43 ` [tip:x86/mm] " tip-bot for Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 6/11] x86/mm: Fix page table dump to show PAT bit Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:44 ` [tip:x86/mm] " tip-bot for Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 7/11] x86/mm: Fix slow_virt_to_phys() to handle large " Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:44 ` [tip:x86/mm] " tip-bot for Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 8/11] x86/mm: Fix gup_huge_p?d() " Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:44 ` [tip:x86/mm] " tip-bot for Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 9/11] x86/mm: Fix try_preserve_large_page() " Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:45 ` [tip:x86/mm] " tip-bot for Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 10/11] x86/mm: Fix __split_large_page() " Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:45 ` [tip:x86/mm] " tip-bot for Toshi Kani
2015-09-17 18:24 ` [PATCH v4 RESEND 11/11] x86/mm: Fix no-change case in try_preserve_large_page() Toshi Kani
2015-09-17 18:24 ` Toshi Kani
2015-09-22 19:45 ` [tip:x86/mm] " tip-bot for Toshi Kani
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=20151109201054.GA5443@node.shutemov.name \
--to=kirill@shutemov.name \
--cc=akpm@linux-foundation.org \
--cc=boris.ostrovsky@oracle.com \
--cc=bp@alien8.de \
--cc=elliott@hpe.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=toshi.kani@hpe.com \
--cc=x86@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.