内核数据结构 klist 是否提供线程安全访问?

发布于 2024-12-11 15:05:00 字数 48 浏览 0 评论 0原文

klist.h 中描述的链表包装器是否提供对其节点的线程安全访问以进行读取和写入?

Does the linked list wrapper described in klist.h provide threadsafe access to its nodes for both reading and writing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无尽的现实 2024-12-18 15:05:00

我认为“阅读和写作”实际上是指“交互和添加/删除”(我们正在谈论列表,对吧?)。

从这个意义上说,它们是线程安全的:您不必对它们执行手动锁定,因为 lib/klist.c 中定义的函数使用 klist 结构的内部自旋锁。

如果是中断或下半上下文,请不要使用这些函数,因为它们内部完成的锁定 spin_lock_irqsave()spin_lock_bh()

I assume that by "reading and writing" you actually mean "interating and adding/removing" (we're talking about lists, right?).

In this sense they are thread-safe: you do not have to perform manual locking on them because the functions defined in lib/klist.c use the internal spinlock of the klist structure.

Do not use these functions if interrupt or bottom half context, because the locking done inside them is not spin_lock_irqsave() or spin_lock_bh().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文