Messages in this thread | | | Date | Mon, 7 Jun 2021 16:10:10 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 1/2] mm/zbud: reuse unbuddied[0] as buddied in zbud_pool |
| |
On Sat, 5 Jun 2021 15:51:40 +0800 Miaohe Lin <linmiaohe@huawei.com> wrote:
> 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. > > ... > > --- a/mm/zbud.c > +++ b/mm/zbud.c > @@ -96,7 +96,7 @@ > struct zbud_pool { > spinlock_t lock; > struct list_head unbuddied[NCHUNKS]; > - struct list_head buddied; > +#define buddied unbuddied[0] > struct list_head lru; > u64 pages_nr; > const struct zbud_ops *ops;
That looks a bit hacky. Can we at least have a comment explaining what's going on?
Would it be better to implement this with a union, rather than a #define?
| |