]> www.infradead.org Git - users/jedix/linux-maple.git/commit
mm/list_lru: don't pass unnecessary key parameters
authorKairui Song <kasong@tencent.com>
Mon, 4 Nov 2024 17:52:52 +0000 (01:52 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 12 Nov 2024 01:22:25 +0000 (17:22 -0800)
commit3f28bbe56c7b77e73f1dd0515cad009cfdd64962
treea1e7b2c80fc231a045368d63cb5661ad850cba49
parent3738290bfc99606787f515a4590ad38dc4f79ca4
mm/list_lru: don't pass unnecessary key parameters

Patch series "mm/list_lru: Split list_lru lock into per-cgroup scope".

When LOCKDEP is not enabled, lock_class_key is an empty struct that is
never used.  But the list_lru initialization function still takes a
placeholder pointer as parameter, and the compiler cannot optimize it
because the function is not static and exported.

Remove this parameter and move it inside the list_lru struct.  Only use it
when LOCKDEP is enabled.  Kernel builds with LOCKDEP will be slightly
larger, while !LOCKDEP builds without it will be slightly smaller (the
common case).

Link: https://lkml.kernel.org/r/20241104175257.60853-1-ryncsn@gmail.com
Link: https://lkml.kernel.org/r/20241104175257.60853-2-ryncsn@gmail.com
Signed-off-by: Kairui Song <kasong@tencent.com>
Acked-by: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Chengming Zhou <zhouchengming@bytedance.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Waiman Long <longman@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/list_lru.h
mm/list_lru.c
mm/workingset.c