zsmalloc中压缩页面的链接

时间:2015-05-20 06:19:38

标签: linux-kernel linux-device-driver

我试图理解zram和zswap中使用的zsmalloc分配器,但是我在zsmalloc.c中的init_zspage代码中被卡住了

    link = (struct link_free *)kmap_atomic(page) +
                    off / sizeof(*link);

此处链接未初始化。如果没有初始化,问题是sizeof(* link)的值是什么。据我所知,sizeof(* link)必须在分配前计算。

1 个答案:

答案 0 :(得分:0)

此大小将在编译时计算。

struct link_free *link;

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

即。此struct的大小=指针的大小。那么这就是你在想什么?