The PAGE_POISON macro is used in page_poison.c only, so avoid exporting it. Also remove the "mm/debug-pagealloc.c" related comment, which is obsolete. Signed-off-by: Wei Wang <wei.w.wang at intel.com> Cc: Andrew Morton <akpm at linux-foundation.org> Cc: Michal Hocko <mhocko at kernel.org> Cc: Michael S. Tsirkin <mst at redhat.com> --- include/linux/poison.h | 7 ------- mm/page_poison.c | 6 ++++++ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/include/linux/poison.h b/include/linux/poison.h index 15927eb..348bf67 100644 --- a/include/linux/poison.h +++ b/include/linux/poison.h @@ -30,13 +30,6 @@ */ #define TIMER_ENTRY_STATIC ((void *) 0x300 + POISON_POINTER_DELTA) -/********** mm/debug-pagealloc.c **********/ -#ifdef CONFIG_PAGE_POISONING_ZERO -#define PAGE_POISON 0x00 -#else -#define PAGE_POISON 0xaa -#endif - /********** mm/page_alloc.c ************/ #define TAIL_MAPPING ((void *) 0x400 + POISON_POINTER_DELTA) diff --git a/mm/page_poison.c b/mm/page_poison.c index e83fd44..8aaf076 100644 --- a/mm/page_poison.c +++ b/mm/page_poison.c @@ -7,6 +7,12 @@ #include <linux/poison.h> #include <linux/ratelimit.h> +#ifdef CONFIG_PAGE_POISONING_ZERO +#define PAGE_POISON 0x00 +#else +#define PAGE_POISON 0xaa +#endif + static bool want_page_poisoning __read_mostly; static int early_page_poison_param(char *buf) -- 2.7.4
Michael S. Tsirkin
2018-Feb-09 16:23 UTC
[PATCH] mm/page_poison: move PAGE_POISON to page_poison.c
On Fri, Feb 09, 2018 at 04:08:14PM +0800, Wei Wang wrote:> The PAGE_POISON macro is used in page_poison.c only, so avoid exporting > it. Also remove the "mm/debug-pagealloc.c" related comment, which is > obsolete. > > Signed-off-by: Wei Wang <wei.w.wang at intel.com> > Cc: Andrew Morton <akpm at linux-foundation.org> > Cc: Michal Hocko <mhocko at kernel.org> > Cc: Michael S. Tsirkin <mst at redhat.com> > --- > include/linux/poison.h | 7 ------- > mm/page_poison.c | 6 ++++++ > 2 files changed, 6 insertions(+), 7 deletions(-) > > diff --git a/include/linux/poison.h b/include/linux/poison.h > index 15927eb..348bf67 100644 > --- a/include/linux/poison.h > +++ b/include/linux/poison.h > @@ -30,13 +30,6 @@ > */ > #define TIMER_ENTRY_STATIC ((void *) 0x300 + POISON_POINTER_DELTA) > > -/********** mm/debug-pagealloc.c **********/ > -#ifdef CONFIG_PAGE_POISONING_ZERO > -#define PAGE_POISON 0x00 > -#else > -#define PAGE_POISON 0xaa > -#endif > - > /********** mm/page_alloc.c ************/ > > #define TAIL_MAPPING ((void *) 0x400 + POISON_POINTER_DELTA)My question is, why are these macros kept in a single header. Is it so it's easy to figure out source of a crash by looking at the data and locating it in the file? If so we should keep it in the header, but fix the comment. If no there are more macros to move out, like flex array ones.> diff --git a/mm/page_poison.c b/mm/page_poison.c > index e83fd44..8aaf076 100644 > --- a/mm/page_poison.c > +++ b/mm/page_poison.c > @@ -7,6 +7,12 @@ > #include <linux/poison.h> > #include <linux/ratelimit.h> > > +#ifdef CONFIG_PAGE_POISONING_ZERO > +#define PAGE_POISON 0x00 > +#else > +#define PAGE_POISON 0xaa > +#endif > + > static bool want_page_poisoning __read_mostly; > > static int early_page_poison_param(char *buf) > -- > 2.7.4
Michal Hocko
2018-Feb-13 10:16 UTC
[PATCH] mm/page_poison: move PAGE_POISON to page_poison.c
On Fri 09-02-18 16:08:14, Wei Wang wrote:> The PAGE_POISON macro is used in page_poison.c only, so avoid exporting > it. Also remove the "mm/debug-pagealloc.c" related comment, which is > obsolete.Why is this an improvement? I thought the whole point of poison.h is to keep all the poison value at a single place to make them obviously unique.> Signed-off-by: Wei Wang <wei.w.wang at intel.com> > Cc: Andrew Morton <akpm at linux-foundation.org> > Cc: Michal Hocko <mhocko at kernel.org> > Cc: Michael S. Tsirkin <mst at redhat.com> > --- > include/linux/poison.h | 7 ------- > mm/page_poison.c | 6 ++++++ > 2 files changed, 6 insertions(+), 7 deletions(-) > > diff --git a/include/linux/poison.h b/include/linux/poison.h > index 15927eb..348bf67 100644 > --- a/include/linux/poison.h > +++ b/include/linux/poison.h > @@ -30,13 +30,6 @@ > */ > #define TIMER_ENTRY_STATIC ((void *) 0x300 + POISON_POINTER_DELTA) > > -/********** mm/debug-pagealloc.c **********/ > -#ifdef CONFIG_PAGE_POISONING_ZERO > -#define PAGE_POISON 0x00 > -#else > -#define PAGE_POISON 0xaa > -#endif > - > /********** mm/page_alloc.c ************/ > > #define TAIL_MAPPING ((void *) 0x400 + POISON_POINTER_DELTA) > diff --git a/mm/page_poison.c b/mm/page_poison.c > index e83fd44..8aaf076 100644 > --- a/mm/page_poison.c > +++ b/mm/page_poison.c > @@ -7,6 +7,12 @@ > #include <linux/poison.h> > #include <linux/ratelimit.h> > > +#ifdef CONFIG_PAGE_POISONING_ZERO > +#define PAGE_POISON 0x00 > +#else > +#define PAGE_POISON 0xaa > +#endif > + > static bool want_page_poisoning __read_mostly; > > static int early_page_poison_param(char *buf) > -- > 2.7.4-- Michal Hocko SUSE Labs
On 02/13/2018 06:16 PM, Michal Hocko wrote:> On Fri 09-02-18 16:08:14, Wei Wang wrote: >> The PAGE_POISON macro is used in page_poison.c only, so avoid exporting >> it. Also remove the "mm/debug-pagealloc.c" related comment, which is >> obsolete. > Why is this an improvement? I thought the whole point of poison.h is to > keep all the poison value at a single place to make them obviously > unique.There isn't a comment explaining why they are exposed. We did this because PAGE_POISON is used by page_poison.c only, it seems not necessary to expose the private values. Why would it be not unique if moved to page_poison.c (on condition that it is only used there)? Best, Wei
Maybe Matching Threads
- [PATCH] mm/page_poison: move PAGE_POISON to page_poison.c
- [PATCH v28 0/4] Virtio-balloon: support free page reporting
- [PATCH v28 0/4] Virtio-balloon: support free page reporting
- [PATCH] mm/page_poison: move PAGE_POISON to page_poison.c
- [PATCH v28 3/4] mm/page_poison: add a function to expose page poison val to kernel modules