gpt4 book ai didi

memory - 什么是 idr_alloc()

转载 作者:IT王子 更新时间:2023-10-28 23:37:45 25 4
gpt4 key购买 nike

在源代码实现中,它说 idr_alloc() 用于分配新的 idr 条目。我找不到 man page 并想知道为什么要使用它,尤其是在为 MTD 设备编写驱动程序时。

最佳答案

idr库在内核中用于管理为对象分配整数 ID 并通过 id 查找对象。看到这个LWN net article完整介绍;基本思想是你有以下操作:

  • idr_get_new(struct idr *idp, void *ptr, int *id) -- 为指针 ptr 分配一个新的 ID并通过 id 返回

  • void *idr_find(struct idr *idp, int id) -- 返回id对应的指针

  • void idr_remove(struct idr *idp, int id) -- 清除 id 的条目

这在映射到内核对象的小整数 ID 有用的任何地方都很有用 - 例如,次要数字或返回到用户空间的其他索引。

关于memory - 什么是 idr_alloc(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15759222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com