问题描述
- 如何在linux2-6-18以后的内核中实现原子操作
-
近来遇到一个比较棘手的问题,做一个设备的驱动,内核选用的是linux2.6.18内核,驱动中有一个计数操作,想用原子操作来实现,不过发现内核中已经没有automic相关类型与函数,经查询得知linux在2.6.18之后移除了asm/automic.h文件导致无法使用内核中automic来实现原子计数。特来此请教坛中的大牛们在2.6.18以后的内核模块中如何实现原子计数?
解决方案
没有了atomic_t,这不太可能吧。内核中有很多子系统依赖于atomic_inc/dec,比如说rcu+引用计数,不会没有的。
时间: 2025-01-20 21:51:52