如何在linux内核中销毁一个基数树



我正在尝试使用基数树为驱动程序维护一个内部数据。那么,摧毁整棵树的正确方法是什么呢?

一个想法是用上面提到的方法遍历树:1

对于每个节点,释放项目并从树中删除其键。

另一个问题是,循环中有删除项的radix_tree_for_each_slot()安全吗?删除会触发内部收缩并导致迭代失败吗?

查看cgwb_bdi_unregister。

它似乎在做你需要做的事情——它用radix_tree_for_each_slot()在基数树上迭代,同时也用radix_tree_delete(来自cgwb_kill)。

所以我想,如果你能保持正常的同步,就不会有什么事情发生。

相关内容

  • 没有找到相关文章

最新更新