diff options
author | Miaohe Lin <linmiaohe@huawei.com> | 2021-07-01 04:50:42 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-07-01 06:47:29 +0300 |
commit | f356aeacf7bbf32131de10d3e400b25b62e3eaaa (patch) | |
tree | d6577213bfb77d0b6fd272a634fdb5c80a99bad6 /mm/zbud.c | |
parent | 28473d91ff7f686d58047ff55f2fa98ab59114a4 (diff) | |
download | linux-f356aeacf7bbf32131de10d3e400b25b62e3eaaa.tar.xz |
mm/zbud: reuse unbuddied[0] as buddied in zbud_pool
Patch series "Cleanups for zbud", v2.
This series contains just cleanups to save some possible memory in
zbud_pool and avoid exporting any unneeded zbud API. More details can be
found in the respective changelogs
This patch (of 2):
Since commit 9d8c5b5284e4 ("mm: zbud: fix condition check on allocation
size"), zbud_pool.unbuddied[0] is always unused. We can reuse it as
buddied field to save some possible memory.
Link: https://lkml.kernel.org/r/20210608114515.206992-1-linmiaohe@huawei.com
Link: https://lkml.kernel.org/r/20210608114515.206992-2-linmiaohe@huawei.com
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Cc: Seth Jennings <sjenning@redhat.com>
Cc: Dan Streetman <ddstreet@ieee.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/zbud.c')
-rw-r--r-- | mm/zbud.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mm/zbud.c b/mm/zbud.c index 7ec5f27a68b0..c48e60bae4a1 100644 --- a/mm/zbud.c +++ b/mm/zbud.c @@ -93,8 +93,14 @@ */ struct zbud_pool { spinlock_t lock; - struct list_head unbuddied[NCHUNKS]; - struct list_head buddied; + union { + /* + * Reuse unbuddied[0] as buddied on the ground that + * unbuddied[0] is unused. + */ + struct list_head buddied; + struct list_head unbuddied[NCHUNKS]; + }; struct list_head lru; u64 pages_nr; const struct zbud_ops *ops; |