Re: [PATCH] mm/page_poison: move PAGE_POISON to page_poison.c
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 ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Re: [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 > Cc: Andrew Morton > Cc: Michal Hocko > Cc: Michael S. Tsirkin > --- > 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 > #include > > +#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 ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Re: [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 > Cc: Andrew Morton > Cc: Michal Hocko > Cc: Michael S. Tsirkin > --- > 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 > #include > > +#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 ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization