genalloc/genpool 子系统 【ChatGPT】

发布时间 2023-12-09 16:54:07作者: 摩斯电码

genalloc/genpool 子系统

内核中有许多内存分配子系统,每个子系统都针对特定的需求。然而,有时内核开发人员需要为特定范围的特定用途内存实现新的分配器;通常这些内存位于设备的某个位置。该设备的驱动程序的作者当然可以编写一个小的分配器来完成工作,但这样做会使内核充斥着数十个未经充分测试的分配器。2005年,Jes Sorensen 从 sym53c8xx_2 驱动程序中提取了一个分配器,并将其发布为用于创建临时内存分配器的通用模块。这段代码被合并到了 2.6.13 版本中;自那时以来已经进行了相当大的修改。

使用这个分配器的代码应该包含 <linux/genalloc.h>。操作从使用以下之一创建池开始:
https://www.kernel.org/doc/html/v6.6/core-api/genalloc.html