From: Toshi Kani <toshi.kani@hp.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: hpa@zytor.com, 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@hp.com
Subject: Re: [PATCH v3 1/10] x86/vdso32: Define PGTABLE_LEVELS to 32bit VDSO
Date: Mon, 24 Aug 2015 15:48:00 -0600 [thread overview]
Message-ID: <1440452880.14237.13.camel@hp.com> (raw)
In-Reply-To: <55D65CF7.1020903@hp.com>
On Thu, 2015-08-20 at 17:04 -0600, Toshi Kani wrote:
> On 8/20/2015 1:46 PM, Thomas Gleixner wrote:
> > On Wed, 5 Aug 2015, Toshi Kani wrote:
> >
> > > In case of CONFIG_X86_64, vdso32/vclock_gettime.c fakes a 32bit
> > > kernel configuration by re-defining it to CONFIG_X86_32. However,
> > > it does not re-define CONFIG_PGTABLE_LEVELS leaving it as 4 levels.
> > > Fix it by re-defining CONFIG_PGTABLE_LEVELS to 2 as X86_PAE is not
> > > set.
> > You fail to explain WHY this is required. I have not yet spotted any
> > code in vclock_gettime.c which is affected by this.
>
> Sorry about that. Without this patch 01, applying patch 02 & 03 causes
> the following compile errors in vclock_gettime.c. This is because it
> includes pgtable_type.h (see blow), which now requires PUD_SHIFT and
> PMD_SHIFT defined properly. In case of X86_32, pgtable_type.h includes
> pgtable_nopud.h and pgtable-nopmd.h, which define these SHIFTs when
> CONFIG_PGTABLE_LEVEL is set to 2 (or 3 if PAE is also defined).
> :
Attached is patch 01/10 with updated descriptions. The rest of the patchset
still applies cleanly.
Please let me know if you have any further comments.
Thanks,
-Toshi
----
Subject: [PATCH v3 UPDATE 1/10] x86/vdso32: Define PGTABLE_LEVELS to 32bit
VDSO
In case of CONFIG_X86_64, vdso32/vclock_gettime.c fakes a 32-bit
non-PAE kernel configuration by re-defining it to CONFIG_X86_32.
However, it does not re-define CONFIG_PGTABLE_LEVELS leaving it
as 4 levels.
This mismatch leads <asm/pgtable_type.h> to NOT include <asm-generic/
pgtable-nopud.h> and <asm-generic/pgtable-nopmd.h>, which will cause
compile errors when a later patch enhances <asm/pgtable_type.h> to
use PUD_SHIFT and PMD_SHIFT. These -nopud & -nopmd headers define
these SHIFTs for the 32-bit non-PAE kernel.
Fix it by re-defining CONFIG_PGTABLE_LEVELS to 2 levels.
Signed-off-by: Toshi Kani <toshi.kani@hp.com>
Cc: Juergen Gross <jgross@suse.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/entry/vdso/vdso32/vclock_gettime.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/x86/entry/vdso/vdso32/vclock_gettime.c
b/arch/x86/entry/vdso/vdso32/vclock_gettime.c
index 175cc72..87a86e0 100644
--- a/arch/x86/entry/vdso/vdso32/vclock_gettime.c
+++ b/arch/x86/entry/vdso/vdso32/vclock_gettime.c
@@ -14,11 +14,13 @@
*/
#undef CONFIG_64BIT
#undef CONFIG_X86_64
+#undef CONFIG_PGTABLE_LEVELS
#undef CONFIG_ILLEGAL_POINTER_VALUE
#undef CONFIG_SPARSEMEM_VMEMMAP
#undef CONFIG_NR_CPUS
#define CONFIG_X86_32 1
+#define CONFIG_PGTABLE_LEVELS 2
#define CONFIG_PAGE_OFFSET 0
#define CONFIG_ILLEGAL_POINTER_VALUE 0
#define CONFIG_NR_CPUS 1
--
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: Toshi Kani <toshi.kani@hp.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: hpa@zytor.com, 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@hp.com
Subject: Re: [PATCH v3 1/10] x86/vdso32: Define PGTABLE_LEVELS to 32bit VDSO
Date: Mon, 24 Aug 2015 15:48:00 -0600 [thread overview]
Message-ID: <1440452880.14237.13.camel@hp.com> (raw)
In-Reply-To: <55D65CF7.1020903@hp.com>
On Thu, 2015-08-20 at 17:04 -0600, Toshi Kani wrote:
> On 8/20/2015 1:46 PM, Thomas Gleixner wrote:
> > On Wed, 5 Aug 2015, Toshi Kani wrote:
> >
> > > In case of CONFIG_X86_64, vdso32/vclock_gettime.c fakes a 32bit
> > > kernel configuration by re-defining it to CONFIG_X86_32. However,
> > > it does not re-define CONFIG_PGTABLE_LEVELS leaving it as 4 levels.
> > > Fix it by re-defining CONFIG_PGTABLE_LEVELS to 2 as X86_PAE is not
> > > set.
> > You fail to explain WHY this is required. I have not yet spotted any
> > code in vclock_gettime.c which is affected by this.
>
> Sorry about that. Without this patch 01, applying patch 02 & 03 causes
> the following compile errors in vclock_gettime.c. This is because it
> includes pgtable_type.h (see blow), which now requires PUD_SHIFT and
> PMD_SHIFT defined properly. In case of X86_32, pgtable_type.h includes
> pgtable_nopud.h and pgtable-nopmd.h, which define these SHIFTs when
> CONFIG_PGTABLE_LEVEL is set to 2 (or 3 if PAE is also defined).
> :
Attached is patch 01/10 with updated descriptions. The rest of the patchset
still applies cleanly.
Please let me know if you have any further comments.
Thanks,
-Toshi
----
Subject: [PATCH v3 UPDATE 1/10] x86/vdso32: Define PGTABLE_LEVELS to 32bit
VDSO
In case of CONFIG_X86_64, vdso32/vclock_gettime.c fakes a 32-bit
non-PAE kernel configuration by re-defining it to CONFIG_X86_32.
However, it does not re-define CONFIG_PGTABLE_LEVELS leaving it
as 4 levels.
This mismatch leads <asm/pgtable_type.h> to NOT include <asm-generic/
pgtable-nopud.h> and <asm-generic/pgtable-nopmd.h>, which will cause
compile errors when a later patch enhances <asm/pgtable_type.h> to
use PUD_SHIFT and PMD_SHIFT. These -nopud & -nopmd headers define
these SHIFTs for the 32-bit non-PAE kernel.
Fix it by re-defining CONFIG_PGTABLE_LEVELS to 2 levels.
Signed-off-by: Toshi Kani <toshi.kani@hp.com>
Cc: Juergen Gross <jgross@suse.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/entry/vdso/vdso32/vclock_gettime.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/x86/entry/vdso/vdso32/vclock_gettime.c
b/arch/x86/entry/vdso/vdso32/vclock_gettime.c
index 175cc72..87a86e0 100644
--- a/arch/x86/entry/vdso/vdso32/vclock_gettime.c
+++ b/arch/x86/entry/vdso/vdso32/vclock_gettime.c
@@ -14,11 +14,13 @@
*/
#undef CONFIG_64BIT
#undef CONFIG_X86_64
+#undef CONFIG_PGTABLE_LEVELS
#undef CONFIG_ILLEGAL_POINTER_VALUE
#undef CONFIG_SPARSEMEM_VMEMMAP
#undef CONFIG_NR_CPUS
#define CONFIG_X86_32 1
+#define CONFIG_PGTABLE_LEVELS 2
#define CONFIG_PAGE_OFFSET 0
#define CONFIG_ILLEGAL_POINTER_VALUE 0
#define CONFIG_NR_CPUS 1
next prev parent reply other threads:[~2015-08-24 21:50 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-05 21:43 [PATCH v3 0/10] x86/mm: Handle large PAT bit in pud/pmd interfaces Toshi Kani
2015-08-05 21:43 ` Toshi Kani
2015-08-05 21:43 ` [PATCH v3 1/10] x86/vdso32: Define PGTABLE_LEVELS to 32bit VDSO Toshi Kani
2015-08-05 21:43 ` Toshi Kani
2015-08-20 19:46 ` Thomas Gleixner
2015-08-20 19:46 ` Thomas Gleixner
2015-08-20 23:04 ` Toshi Kani
2015-08-20 23:04 ` Toshi Kani
2015-08-24 21:48 ` Toshi Kani [this message]
2015-08-24 21:48 ` Toshi Kani
2015-08-05 21:43 ` [PATCH v3 2/10] x86/asm: Move PUD_PAGE macros to page_types.h Toshi Kani
2015-08-05 21:43 ` Toshi Kani
2015-08-05 21:43 ` [PATCH v3 3/10] x86/asm: Fix pud/pmd interfaces to handle large PAT bit Toshi Kani
2015-08-05 21:43 ` Toshi Kani
2015-08-25 8:16 ` Thomas Gleixner
2015-08-25 8:16 ` Thomas Gleixner
2015-08-25 14:15 ` Toshi Kani
2015-08-25 14:15 ` Toshi Kani
2015-08-05 21:43 ` [PATCH v3 4/10] x86/asm: Add pud_pgprot() and pmd_pgprot() Toshi Kani
2015-08-05 21:43 ` Toshi Kani
2015-08-05 21:43 ` [PATCH v3 5/10] x86/mm: Fix page table dump to show PAT bit Toshi Kani
2015-08-05 21:43 ` Toshi Kani
2015-08-05 21:43 ` [PATCH v3 6/10] x86/mm: Fix slow_virt_to_phys() to handle large " Toshi Kani
2015-08-05 21:43 ` Toshi Kani
2015-08-05 21:43 ` [PATCH v3 7/10] x86/mm: Fix gup_huge_p?d() " Toshi Kani
2015-08-05 21:43 ` Toshi Kani
2015-08-05 21:43 ` [PATCH v3 8/10] x86/mm: Fix try_preserve_large_page() " Toshi Kani
2015-08-05 21:43 ` Toshi Kani
2015-08-05 21:43 ` [PATCH v3 9/10] x86/mm: Fix __split_large_page() " Toshi Kani
2015-08-05 21:43 ` Toshi Kani
2015-08-05 21:43 ` [PATCH v3 10/10] x86/mm: Fix the same pgprot handling in try_preserve_large_page() Toshi Kani
2015-08-05 21:43 ` 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=1440452880.14237.13.camel@hp.com \
--to=toshi.kani@hp.com \
--cc=akpm@linux-foundation.org \
--cc=bp@alien8.de \
--cc=elliott@hp.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=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.