Re: [RFC][PATCH 1/9] mm: slab/slub: use page->list consistentlyinstead of page->lru

From: David Rientjes
Date: Tue Jan 14 2014 - 21:31:42 EST


On Tue, 14 Jan 2014, Dave Hansen wrote:

> diff -puN include/linux/mm_types.h~make-slab-use-page-lru-vs-list-consistently include/linux/mm_types.h
> --- a/include/linux/mm_types.h~make-slab-use-page-lru-vs-list-consistently 2014-01-14 09:57:56.099621967 -0800
> +++ b/include/linux/mm_types.h 2014-01-14 09:57:56.106622281 -0800
> @@ -124,6 +124,8 @@ struct page {
> union {
> struct list_head lru; /* Pageout list, eg. active_list
> * protected by zone->lru_lock !
> + * Can be used as a generic list
> + * by the page owner.
> */
> struct { /* slub per cpu partial pages */
> struct page *next; /* Next partial slab */
> @@ -136,7 +138,6 @@ struct page {
> #endif
> };
>
> - struct list_head list; /* slobs list of pages */
> struct slab *slab_page; /* slab fields */
> struct rcu_head rcu_head; /* Used by SLAB
> * when destroying via RCU

Did you try with a CONFIG_BLOCK config?

block/blk-mq.c: In function âblk_mq_free_rq_mapâ:
block/blk-mq.c:1094:10: error: âstruct pageâ has no member named âlistâ
block/blk-mq.c:1094:10: warning: initialization from incompatible pointer type [enabled by default]
block/blk-mq.c:1094:10: error: âstruct pageâ has no member named âlistâ
block/blk-mq.c:1095:22: error: âstruct pageâ has no member named âlistâ
block/blk-mq.c: In function âblk_mq_init_rq_mapâ:
block/blk-mq.c:1159:22: error: âstruct pageâ has no member named âlistâ