2017-03-17 17:51:36

by Thomas Garnier

[permalink] [raw]
Subject: [PATCH tip] x86/mm: Correct fixmap header usage on adaptable MODULES_END

This patch remove fixmap header usage on non-x86 code that was
introduced by the adaptable MODULE_END change.

Signed-off-by: Thomas Garnier <[email protected]>
---
Based on tip:x86/mm
---
arch/x86/include/asm/pgtable_64.h | 1 +
arch/x86/kernel/module.c | 1 -
arch/x86/mm/dump_pagetables.c | 1 -
arch/x86/mm/kasan_init_64.c | 1 -
mm/vmalloc.c | 4 ----
5 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h
index 73c7ccc38912..67608d4abc2c 100644
--- a/arch/x86/include/asm/pgtable_64.h
+++ b/arch/x86/include/asm/pgtable_64.h
@@ -13,6 +13,7 @@
#include <asm/processor.h>
#include <linux/bitops.h>
#include <linux/threads.h>
+#include <asm/fixmap.h>

extern pud_t level3_kernel_pgt[512];
extern pud_t level3_ident_pgt[512];
diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
index fad61caac75e..477ae806c2fa 100644
--- a/arch/x86/kernel/module.c
+++ b/arch/x86/kernel/module.c
@@ -35,7 +35,6 @@
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/setup.h>
-#include <asm/fixmap.h>

#if 0
#define DEBUGP(fmt, ...) \
diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
index 75efeecc85eb..58b5bee7ea27 100644
--- a/arch/x86/mm/dump_pagetables.c
+++ b/arch/x86/mm/dump_pagetables.c
@@ -20,7 +20,6 @@

#include <asm/kasan.h>
#include <asm/pgtable.h>
-#include <asm/fixmap.h>

/*
* The dumper groups pagetable entries of the same type into one, and for
diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c
index 1bde19ef86bd..8d63d7a104c3 100644
--- a/arch/x86/mm/kasan_init_64.c
+++ b/arch/x86/mm/kasan_init_64.c
@@ -9,7 +9,6 @@

#include <asm/tlbflush.h>
#include <asm/sections.h>
-#include <asm/fixmap.h>

extern pgd_t early_level4_pgt[PTRS_PER_PGD];
extern struct range pfn_mapped[E820_X_MAX];
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index b7d2a23349f4..0dd80222b20b 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -36,10 +36,6 @@
#include <asm/tlbflush.h>
#include <asm/shmparam.h>

-#ifdef CONFIG_X86
-# include <asm/fixmap.h>
-#endif
-
#include "internal.h"

struct vfree_deferred {
--
2.12.0.367.g23dc2f6d3c-goog


Subject: [tip:x86/mm] x86/mm: Correct fixmap header usage on adaptable MODULES_END

Commit-ID: f991376e444aee8f5643a45703c1433bf7948940
Gitweb: http://git.kernel.org/tip/f991376e444aee8f5643a45703c1433bf7948940
Author: Thomas Garnier <[email protected]>
AuthorDate: Fri, 17 Mar 2017 10:50:34 -0700
Committer: Ingo Molnar <[email protected]>
CommitDate: Sat, 18 Mar 2017 09:48:00 +0100

x86/mm: Correct fixmap header usage on adaptable MODULES_END

This patch removes fixmap header usage on non-x86 code that was
introduced by the adaptable MODULE_END change.

Signed-off-by: Thomas Garnier <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/include/asm/pgtable_64.h | 1 +
arch/x86/kernel/module.c | 1 -
arch/x86/mm/dump_pagetables.c | 1 -
arch/x86/mm/kasan_init_64.c | 1 -
mm/vmalloc.c | 4 ----
5 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h
index 73c7ccc..67608d4 100644
--- a/arch/x86/include/asm/pgtable_64.h
+++ b/arch/x86/include/asm/pgtable_64.h
@@ -13,6 +13,7 @@
#include <asm/processor.h>
#include <linux/bitops.h>
#include <linux/threads.h>
+#include <asm/fixmap.h>

extern pud_t level3_kernel_pgt[512];
extern pud_t level3_ident_pgt[512];
diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
index fad61ca..477ae80 100644
--- a/arch/x86/kernel/module.c
+++ b/arch/x86/kernel/module.c
@@ -35,7 +35,6 @@
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/setup.h>
-#include <asm/fixmap.h>

#if 0
#define DEBUGP(fmt, ...) \
diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
index 75efeec..58b5bee 100644
--- a/arch/x86/mm/dump_pagetables.c
+++ b/arch/x86/mm/dump_pagetables.c
@@ -20,7 +20,6 @@

#include <asm/kasan.h>
#include <asm/pgtable.h>
-#include <asm/fixmap.h>

/*
* The dumper groups pagetable entries of the same type into one, and for
diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c
index 1bde19e..8d63d7a 100644
--- a/arch/x86/mm/kasan_init_64.c
+++ b/arch/x86/mm/kasan_init_64.c
@@ -9,7 +9,6 @@

#include <asm/tlbflush.h>
#include <asm/sections.h>
-#include <asm/fixmap.h>

extern pgd_t early_level4_pgt[PTRS_PER_PGD];
extern struct range pfn_mapped[E820_X_MAX];
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index b7d2a23..0dd8022 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -36,10 +36,6 @@
#include <asm/tlbflush.h>
#include <asm/shmparam.h>

-#ifdef CONFIG_X86
-# include <asm/fixmap.h>
-#endif
-
#include "internal.h"

struct vfree_deferred {

2017-03-19 16:12:51

by Wei Yang

[permalink] [raw]
Subject: Re: [PATCH tip] x86/mm: Correct fixmap header usage on adaptable MODULES_END

On Fri, Mar 17, 2017 at 10:50:34AM -0700, Thomas Garnier wrote:
>This patch remove fixmap header usage on non-x86 code that was
>introduced by the adaptable MODULE_END change.

Hi, Thomas

In this patch, it looks you are trying to do two things for my understanding:
1. To include <asm/fixmap.h> in asm/pagetable_64.h and remove the include in
some of the x86 files
2. Remove <asm/fixmap.h> in mm/vmalloc.c

I think your change log covers the second task in the patch, but not not talk
about the first task you did in the patch. If you could mention it in commit
log, it would be good for maintain.

BTW, I have little knowledge about MODULE_END. By searching the code
MODULE_END is not used in arch/x86. If you would like to mention the commit
which introduce the problem, it would be more helpful to review the code.

>
>Signed-off-by: Thomas Garnier <[email protected]>
>---
>Based on tip:x86/mm
>---
> arch/x86/include/asm/pgtable_64.h | 1 +
> arch/x86/kernel/module.c | 1 -
> arch/x86/mm/dump_pagetables.c | 1 -
> arch/x86/mm/kasan_init_64.c | 1 -
> mm/vmalloc.c | 4 ----
> 5 files changed, 1 insertion(+), 7 deletions(-)
>
>diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h
>index 73c7ccc38912..67608d4abc2c 100644
>--- a/arch/x86/include/asm/pgtable_64.h
>+++ b/arch/x86/include/asm/pgtable_64.h
>@@ -13,6 +13,7 @@
> #include <asm/processor.h>
> #include <linux/bitops.h>
> #include <linux/threads.h>
>+#include <asm/fixmap.h>
>

Hmm... I see in both pgtable_32.h and pgtable_64.h will include <asm/fixmap.h>
after this change. And pgtable_32.h and pgtable_64.h will be included only in
pgtable.h. So is it possible to include <asm/fixmap.h> in pgtable.h for once
instead of include it in both files? Any concerns you would have?

> extern pud_t level3_kernel_pgt[512];
> extern pud_t level3_ident_pgt[512];
>diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
>index fad61caac75e..477ae806c2fa 100644
>--- a/arch/x86/kernel/module.c
>+++ b/arch/x86/kernel/module.c
>@@ -35,7 +35,6 @@
> #include <asm/page.h>
> #include <asm/pgtable.h>
> #include <asm/setup.h>
>-#include <asm/fixmap.h>
>
> #if 0
> #define DEBUGP(fmt, ...) \
>diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
>index 75efeecc85eb..58b5bee7ea27 100644
>--- a/arch/x86/mm/dump_pagetables.c
>+++ b/arch/x86/mm/dump_pagetables.c
>@@ -20,7 +20,6 @@
>
> #include <asm/kasan.h>
> #include <asm/pgtable.h>
>-#include <asm/fixmap.h>
>
> /*
> * The dumper groups pagetable entries of the same type into one, and for
>diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c
>index 1bde19ef86bd..8d63d7a104c3 100644
>--- a/arch/x86/mm/kasan_init_64.c
>+++ b/arch/x86/mm/kasan_init_64.c
>@@ -9,7 +9,6 @@
>
> #include <asm/tlbflush.h>
> #include <asm/sections.h>
>-#include <asm/fixmap.h>
>
> extern pgd_t early_level4_pgt[PTRS_PER_PGD];
> extern struct range pfn_mapped[E820_X_MAX];
>diff --git a/mm/vmalloc.c b/mm/vmalloc.c
>index b7d2a23349f4..0dd80222b20b 100644
>--- a/mm/vmalloc.c
>+++ b/mm/vmalloc.c
>@@ -36,10 +36,6 @@
> #include <asm/tlbflush.h>
> #include <asm/shmparam.h>
>
>-#ifdef CONFIG_X86
>-# include <asm/fixmap.h>
>-#endif
>-
> #include "internal.h"
>
> struct vfree_deferred {
>--
>2.12.0.367.g23dc2f6d3c-goog

--
Wei Yang
Help you, Help me


Attachments:
(No filename) (3.28 kB)
signature.asc (819.00 B)
Download all attachments

2017-03-19 16:53:51

by Thomas Garnier

[permalink] [raw]
Subject: Re: [PATCH tip] x86/mm: Correct fixmap header usage on adaptable MODULES_END

On Sun, Mar 19, 2017 at 9:03 AM, Wei Yang <[email protected]> wrote:
> On Fri, Mar 17, 2017 at 10:50:34AM -0700, Thomas Garnier wrote:
>>This patch remove fixmap header usage on non-x86 code that was
>>introduced by the adaptable MODULE_END change.
>
> Hi, Thomas
>
> In this patch, it looks you are trying to do two things for my understanding:
> 1. To include <asm/fixmap.h> in asm/pagetable_64.h and remove the include in
> some of the x86 files
> 2. Remove <asm/fixmap.h> in mm/vmalloc.c
>
> I think your change log covers the second task in the patch, but not not talk
> about the first task you did in the patch. If you could mention it in commit
> log, it would be good for maintain.

I agree, I am not the best at writing commits (by far). What's the
best way for me to correct that? (the bot seem to have taken it).

>
> BTW, I have little knowledge about MODULE_END. By searching the code
> MODULE_END is not used in arch/x86. If you would like to mention the commit
> which introduce the problem, it would be more helpful to review the code.

It is used in many places in arch/x86, kasan, head64, fault etc..:
http://lxr.free-electrons.com/ident?i=MODULES_END

>
>>
>>Signed-off-by: Thomas Garnier <[email protected]>
>>---
>>Based on tip:x86/mm
>>---
>> arch/x86/include/asm/pgtable_64.h | 1 +
>> arch/x86/kernel/module.c | 1 -
>> arch/x86/mm/dump_pagetables.c | 1 -
>> arch/x86/mm/kasan_init_64.c | 1 -
>> mm/vmalloc.c | 4 ----
>> 5 files changed, 1 insertion(+), 7 deletions(-)
>>
>>diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h
>>index 73c7ccc38912..67608d4abc2c 100644
>>--- a/arch/x86/include/asm/pgtable_64.h
>>+++ b/arch/x86/include/asm/pgtable_64.h
>>@@ -13,6 +13,7 @@
>> #include <asm/processor.h>
>> #include <linux/bitops.h>
>> #include <linux/threads.h>
>>+#include <asm/fixmap.h>
>>
>
> Hmm... I see in both pgtable_32.h and pgtable_64.h will include <asm/fixmap.h>
> after this change. And pgtable_32.h and pgtable_64.h will be included only in
> pgtable.h. So is it possible to include <asm/fixmap.h> in pgtable.h for once
> instead of include it in both files? Any concerns you would have?

I am not sure I understood. Only 64-bit need this header to correctly
get MODULES_END, that's why I added it to pgtable_64.h only. I tried
to add it lower before and ran into multiple header errors.

>
>> extern pud_t level3_kernel_pgt[512];
>> extern pud_t level3_ident_pgt[512];
>>diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
>>index fad61caac75e..477ae806c2fa 100644
>>--- a/arch/x86/kernel/module.c
>>+++ b/arch/x86/kernel/module.c
>>@@ -35,7 +35,6 @@
>> #include <asm/page.h>
>> #include <asm/pgtable.h>
>> #include <asm/setup.h>
>>-#include <asm/fixmap.h>
>>
>> #if 0
>> #define DEBUGP(fmt, ...) \
>>diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
>>index 75efeecc85eb..58b5bee7ea27 100644
>>--- a/arch/x86/mm/dump_pagetables.c
>>+++ b/arch/x86/mm/dump_pagetables.c
>>@@ -20,7 +20,6 @@
>>
>> #include <asm/kasan.h>
>> #include <asm/pgtable.h>
>>-#include <asm/fixmap.h>
>>
>> /*
>> * The dumper groups pagetable entries of the same type into one, and for
>>diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c
>>index 1bde19ef86bd..8d63d7a104c3 100644
>>--- a/arch/x86/mm/kasan_init_64.c
>>+++ b/arch/x86/mm/kasan_init_64.c
>>@@ -9,7 +9,6 @@
>>
>> #include <asm/tlbflush.h>
>> #include <asm/sections.h>
>>-#include <asm/fixmap.h>
>>
>> extern pgd_t early_level4_pgt[PTRS_PER_PGD];
>> extern struct range pfn_mapped[E820_X_MAX];
>>diff --git a/mm/vmalloc.c b/mm/vmalloc.c
>>index b7d2a23349f4..0dd80222b20b 100644
>>--- a/mm/vmalloc.c
>>+++ b/mm/vmalloc.c
>>@@ -36,10 +36,6 @@
>> #include <asm/tlbflush.h>
>> #include <asm/shmparam.h>
>>
>>-#ifdef CONFIG_X86
>>-# include <asm/fixmap.h>
>>-#endif
>>-
>> #include "internal.h"
>>
>> struct vfree_deferred {
>>--
>>2.12.0.367.g23dc2f6d3c-goog
>
> --
> Wei Yang
> Help you, Help me



--
Thomas

2017-03-20 01:14:15

by Wei Yang

[permalink] [raw]
Subject: Re: [PATCH tip] x86/mm: Correct fixmap header usage on adaptable MODULES_END

On Sun, Mar 19, 2017 at 09:25:00AM -0700, Thomas Garnier wrote:
>On Sun, Mar 19, 2017 at 9:03 AM, Wei Yang <[email protected]> wrote:
>> On Fri, Mar 17, 2017 at 10:50:34AM -0700, Thomas Garnier wrote:
>>>This patch remove fixmap header usage on non-x86 code that was
>>>introduced by the adaptable MODULE_END change.
>>
>> Hi, Thomas
>>
>> In this patch, it looks you are trying to do two things for my understanding:
>> 1. To include <asm/fixmap.h> in asm/pagetable_64.h and remove the include in
>> some of the x86 files
>> 2. Remove <asm/fixmap.h> in mm/vmalloc.c
>>
>> I think your change log covers the second task in the patch, but not not talk
>> about the first task you did in the patch. If you could mention it in commit
>> log, it would be good for maintain.
>
>I agree, I am not the best at writing commits (by far). What's the
>best way for me to correct that? (the bot seem to have taken it).
>

Simply mention it in your commit log is enough to me.

>>
>> BTW, I have little knowledge about MODULE_END. By searching the code
>> MODULE_END is not used in arch/x86. If you would like to mention the commit
>> which introduce the problem, it would be more helpful to review the code.
>
>It is used in many places in arch/x86, kasan, head64, fault etc..:
>http://lxr.free-electrons.com/ident?i=MODULES_END
>

Oh, thanks :-)

>>
>>>
>>>Signed-off-by: Thomas Garnier <[email protected]>
>>>---
>>>Based on tip:x86/mm
>>>---
>>> arch/x86/include/asm/pgtable_64.h | 1 +
>>> arch/x86/kernel/module.c | 1 -
>>> arch/x86/mm/dump_pagetables.c | 1 -
>>> arch/x86/mm/kasan_init_64.c | 1 -
>>> mm/vmalloc.c | 4 ----
>>> 5 files changed, 1 insertion(+), 7 deletions(-)
>>>
>>>diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h
>>>index 73c7ccc38912..67608d4abc2c 100644
>>>--- a/arch/x86/include/asm/pgtable_64.h
>>>+++ b/arch/x86/include/asm/pgtable_64.h
>>>@@ -13,6 +13,7 @@
>>> #include <asm/processor.h>
>>> #include <linux/bitops.h>
>>> #include <linux/threads.h>
>>>+#include <asm/fixmap.h>
>>>
>>
>> Hmm... I see in both pgtable_32.h and pgtable_64.h will include <asm/fixmap.h>
>> after this change. And pgtable_32.h and pgtable_64.h will be included only in
>> pgtable.h. So is it possible to include <asm/fixmap.h> in pgtable.h for once
>> instead of include it in both files? Any concerns you would have?
>
>I am not sure I understood. Only 64-bit need this header to correctly
>get MODULES_END, that's why I added it to pgtable_64.h only. I tried
>to add it lower before and ran into multiple header errors.
>

When you look in to pgtable_64.h, you would see it includes <asm/fixmap.h>
too. Hmm... If only 64-bit need this header, would it be possible to remote it
from pgtable_32.h?


>>
>>> extern pud_t level3_kernel_pgt[512];
>>> extern pud_t level3_ident_pgt[512];
>>>diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
>>>index fad61caac75e..477ae806c2fa 100644
>>>--- a/arch/x86/kernel/module.c
>>>+++ b/arch/x86/kernel/module.c
>>>@@ -35,7 +35,6 @@
>>> #include <asm/page.h>
>>> #include <asm/pgtable.h>
>>> #include <asm/setup.h>
>>>-#include <asm/fixmap.h>
>>>
>>> #if 0
>>> #define DEBUGP(fmt, ...) \
>>>diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
>>>index 75efeecc85eb..58b5bee7ea27 100644
>>>--- a/arch/x86/mm/dump_pagetables.c
>>>+++ b/arch/x86/mm/dump_pagetables.c
>>>@@ -20,7 +20,6 @@
>>>
>>> #include <asm/kasan.h>
>>> #include <asm/pgtable.h>
>>>-#include <asm/fixmap.h>
>>>
>>> /*
>>> * The dumper groups pagetable entries of the same type into one, and for
>>>diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c
>>>index 1bde19ef86bd..8d63d7a104c3 100644
>>>--- a/arch/x86/mm/kasan_init_64.c
>>>+++ b/arch/x86/mm/kasan_init_64.c
>>>@@ -9,7 +9,6 @@
>>>
>>> #include <asm/tlbflush.h>
>>> #include <asm/sections.h>
>>>-#include <asm/fixmap.h>
>>>
>>> extern pgd_t early_level4_pgt[PTRS_PER_PGD];
>>> extern struct range pfn_mapped[E820_X_MAX];
>>>diff --git a/mm/vmalloc.c b/mm/vmalloc.c
>>>index b7d2a23349f4..0dd80222b20b 100644
>>>--- a/mm/vmalloc.c
>>>+++ b/mm/vmalloc.c
>>>@@ -36,10 +36,6 @@
>>> #include <asm/tlbflush.h>
>>> #include <asm/shmparam.h>
>>>
>>>-#ifdef CONFIG_X86
>>>-# include <asm/fixmap.h>
>>>-#endif
>>>-
>>> #include "internal.h"
>>>
>>> struct vfree_deferred {
>>>--
>>>2.12.0.367.g23dc2f6d3c-goog
>>
>> --
>> Wei Yang
>> Help you, Help me
>
>
>
>--
>Thomas

--
Wei Yang
Help you, Help me


Attachments:
(No filename) (4.41 kB)
signature.asc (819.00 B)
Download all attachments

2017-03-20 14:31:50

by Thomas Garnier

[permalink] [raw]
Subject: Re: [PATCH tip] x86/mm: Correct fixmap header usage on adaptable MODULES_END

On Sun, Mar 19, 2017 at 6:14 PM, Wei Yang <[email protected]> wrote:
> On Sun, Mar 19, 2017 at 09:25:00AM -0700, Thomas Garnier wrote:
>>On Sun, Mar 19, 2017 at 9:03 AM, Wei Yang <[email protected]> wrote:
>>> On Fri, Mar 17, 2017 at 10:50:34AM -0700, Thomas Garnier wrote:
>>>>This patch remove fixmap header usage on non-x86 code that was
>>>>introduced by the adaptable MODULE_END change.
>>>
>>> Hi, Thomas
>>>
>>> In this patch, it looks you are trying to do two things for my understanding:
>>> 1. To include <asm/fixmap.h> in asm/pagetable_64.h and remove the include in
>>> some of the x86 files
>>> 2. Remove <asm/fixmap.h> in mm/vmalloc.c
>>>
>>> I think your change log covers the second task in the patch, but not not talk
>>> about the first task you did in the patch. If you could mention it in commit
>>> log, it would be good for maintain.
>>
>>I agree, I am not the best at writing commits (by far). What's the
>>best way for me to correct that? (the bot seem to have taken it).
>>
>
> Simply mention it in your commit log is enough to me.
>

I meant, do I send another patch or reply on in this thread and bot
will pick it up?

>>>
>>> BTW, I have little knowledge about MODULE_END. By searching the code
>>> MODULE_END is not used in arch/x86. If you would like to mention the commit
>>> which introduce the problem, it would be more helpful to review the code.
>>
>>It is used in many places in arch/x86, kasan, head64, fault etc..:
>>http://lxr.free-electrons.com/ident?i=MODULES_END
>>
>
> Oh, thanks :-)
>
>>>
>>>>
>>>>Signed-off-by: Thomas Garnier <[email protected]>
>>>>---
>>>>Based on tip:x86/mm
>>>>---
>>>> arch/x86/include/asm/pgtable_64.h | 1 +
>>>> arch/x86/kernel/module.c | 1 -
>>>> arch/x86/mm/dump_pagetables.c | 1 -
>>>> arch/x86/mm/kasan_init_64.c | 1 -
>>>> mm/vmalloc.c | 4 ----
>>>> 5 files changed, 1 insertion(+), 7 deletions(-)
>>>>
>>>>diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h
>>>>index 73c7ccc38912..67608d4abc2c 100644
>>>>--- a/arch/x86/include/asm/pgtable_64.h
>>>>+++ b/arch/x86/include/asm/pgtable_64.h
>>>>@@ -13,6 +13,7 @@
>>>> #include <asm/processor.h>
>>>> #include <linux/bitops.h>
>>>> #include <linux/threads.h>
>>>>+#include <asm/fixmap.h>
>>>>
>>>
>>> Hmm... I see in both pgtable_32.h and pgtable_64.h will include <asm/fixmap.h>
>>> after this change. And pgtable_32.h and pgtable_64.h will be included only in
>>> pgtable.h. So is it possible to include <asm/fixmap.h> in pgtable.h for once
>>> instead of include it in both files? Any concerns you would have?
>>
>>I am not sure I understood. Only 64-bit need this header to correctly
>>get MODULES_END, that's why I added it to pgtable_64.h only. I tried
>>to add it lower before and ran into multiple header errors.
>>
>
> When you look in to pgtable_64.h, you would see it includes <asm/fixmap.h>
> too. Hmm... If only 64-bit need this header, would it be possible to remote it
> from pgtable_32.h?
>

I see that you mean, I can test to see if putting fixmap in pgtable.h
will be enough.

>
>>>
>>>> extern pud_t level3_kernel_pgt[512];
>>>> extern pud_t level3_ident_pgt[512];
>>>>diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
>>>>index fad61caac75e..477ae806c2fa 100644
>>>>--- a/arch/x86/kernel/module.c
>>>>+++ b/arch/x86/kernel/module.c
>>>>@@ -35,7 +35,6 @@
>>>> #include <asm/page.h>
>>>> #include <asm/pgtable.h>
>>>> #include <asm/setup.h>
>>>>-#include <asm/fixmap.h>
>>>>
>>>> #if 0
>>>> #define DEBUGP(fmt, ...) \
>>>>diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
>>>>index 75efeecc85eb..58b5bee7ea27 100644
>>>>--- a/arch/x86/mm/dump_pagetables.c
>>>>+++ b/arch/x86/mm/dump_pagetables.c
>>>>@@ -20,7 +20,6 @@
>>>>
>>>> #include <asm/kasan.h>
>>>> #include <asm/pgtable.h>
>>>>-#include <asm/fixmap.h>
>>>>
>>>> /*
>>>> * The dumper groups pagetable entries of the same type into one, and for
>>>>diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c
>>>>index 1bde19ef86bd..8d63d7a104c3 100644
>>>>--- a/arch/x86/mm/kasan_init_64.c
>>>>+++ b/arch/x86/mm/kasan_init_64.c
>>>>@@ -9,7 +9,6 @@
>>>>
>>>> #include <asm/tlbflush.h>
>>>> #include <asm/sections.h>
>>>>-#include <asm/fixmap.h>
>>>>
>>>> extern pgd_t early_level4_pgt[PTRS_PER_PGD];
>>>> extern struct range pfn_mapped[E820_X_MAX];
>>>>diff --git a/mm/vmalloc.c b/mm/vmalloc.c
>>>>index b7d2a23349f4..0dd80222b20b 100644
>>>>--- a/mm/vmalloc.c
>>>>+++ b/mm/vmalloc.c
>>>>@@ -36,10 +36,6 @@
>>>> #include <asm/tlbflush.h>
>>>> #include <asm/shmparam.h>
>>>>
>>>>-#ifdef CONFIG_X86
>>>>-# include <asm/fixmap.h>
>>>>-#endif
>>>>-
>>>> #include "internal.h"
>>>>
>>>> struct vfree_deferred {
>>>>--
>>>>2.12.0.367.g23dc2f6d3c-goog
>>>
>>> --
>>> Wei Yang
>>> Help you, Help me
>>
>>
>>
>>--
>>Thomas
>
> --
> Wei Yang
> Help you, Help me



--
Thomas

2017-03-20 16:53:25

by Wei Yang

[permalink] [raw]
Subject: Re: [PATCH tip] x86/mm: Correct fixmap header usage on adaptable MODULES_END

On Mon, Mar 20, 2017 at 07:31:17AM -0700, Thomas Garnier wrote:
>On Sun, Mar 19, 2017 at 6:14 PM, Wei Yang <[email protected]> wrote:
>> On Sun, Mar 19, 2017 at 09:25:00AM -0700, Thomas Garnier wrote:
>>>On Sun, Mar 19, 2017 at 9:03 AM, Wei Yang <[email protected]> wrote:
>>>> On Fri, Mar 17, 2017 at 10:50:34AM -0700, Thomas Garnier wrote:
>>>>>This patch remove fixmap header usage on non-x86 code that was
>>>>>introduced by the adaptable MODULE_END change.
>>>>
>>>> Hi, Thomas
>>>>
>>>> In this patch, it looks you are trying to do two things for my understanding:
>>>> 1. To include <asm/fixmap.h> in asm/pagetable_64.h and remove the include in
>>>> some of the x86 files
>>>> 2. Remove <asm/fixmap.h> in mm/vmalloc.c
>>>>
>>>> I think your change log covers the second task in the patch, but not not talk
>>>> about the first task you did in the patch. If you could mention it in commit
>>>> log, it would be good for maintain.
>>>
>>>I agree, I am not the best at writing commits (by far). What's the
>>>best way for me to correct that? (the bot seem to have taken it).
>>>
>>
>> Simply mention it in your commit log is enough to me.
>>
>
>I meant, do I send another patch or reply on in this thread and bot
>will pick it up?
>

I think it is necessary to send V2.

--
Wei Yang
Help you, Help me


Attachments:
(No filename) (1.29 kB)
signature.asc (819.00 B)
Download all attachments