Link zsmalloc 中的压缩页面

Link of compressed pages in zsmalloc

我试图了解 zram 和 zswap 中使用的 zsmalloc 分配器,但我被困在 zsmalloc.c

中的 init_zspage 代码中
    link = (struct link_free *)kmap_atomic(page) +
                    off / sizeof(*link);

这里link没有初始化。问题是如果 sizeof(*link) 没有初始化,它的值是多少。据我所知 sizeof(*link) 必须在赋值前计算。

此大小将在编译时计算。

struct link_free *link;

235 struct link_free {
236         /* Handle of next free chunk (encodes <PFN, obj_idx>) */
237         void *next;
238 };

即此结构的大小 = 指针的大小。所以这就是你问的?