linux – spin_lock和raw_spin_lock()有什么区别?

linux内核中有每个自旋锁的原始变体,我想知道它的用法吗?
例如:

raw_spin_lock(),raw_spin_lock_irqsave()等

解决方法

spin_lock *函数与raw_spin_lock * ones相同,当启用锁定调试(CONfig_DEBUG_LOCK_ALLOC)时,对锁定操作执行一些额外的运行时检查,例如检查死锁.这些检查由lockdep子系统执行.

通常,只要有可能就应该使用spin_lock *函数.

只有在非常棘手的锁定策略的极少数情况下,当lockdep可以产生错误警告时,可以使用raw_spin_lock *函数.

此外,raw_ *函数可以优于常用函数,以减少内存使用或性能原因.但它应该是实际的时间/空间测量,反映了使用这些优化的重大胜利.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...