Re: [PATCH 1/3] mm: thp: make deferred split shrinker memcg aware

From: Yang Shi
Date: Thu May 30 2019 - 09:33:23 EST




On 5/30/19 8:07 PM, Kirill A. Shutemov wrote:
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?

Yes, it sounds simpler than using list_lru.