On Tue, May 28, 2019 at 08:44:22PM +0800, Yang Shi wrote: > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h > index bc74d6a..9ff5fab 100644 > --- a/include/linux/memcontrol.h > +++ b/include/linux/memcontrol.h > @@ -316,6 +316,12 @@ struct mem_cgroup { > struct list_head event_list; > spinlock_t event_list_lock; > > +#ifdef CONFIG_TRANSPARENT_HUGEPAGE > + struct list_head split_queue; > + unsigned long split_queue_len; > + spinlock_t split_queue_lock; Maybe we should wrap there into a struct and have helper that would return pointer to the struct which is right for the page: from pgdat or from memcg, depending on the situation? This way we will be able to kill most of code duplication, right? -- Kirill A. Shutemov