linux-device-driver - 为什么linux驱动程序同时使用信号量和spin_lock?
问题描述
我遇到了一个同时使用信号量和自旋锁的 linux 驱动程序代码:
struct semaphore lock;
spinlock_t int_lock;
unsigned long flag;
void dequeue()
{
down_interruptible(lock);
spin_lock_irqsave(int_lock,flag);
}
有必要两者一起使用吗?
解决方案
推荐阅读
- c# - WPF 中的死锁:如何不阻塞 HwndHost.BuildWindowCore 中的 GUI 线程?
- azure - 每周三上午 9:30 和每月 2 号的 Cron 表达式
- reactjs - 使 Redux thunk 调用同步以刷新令牌
- python - 如何在 ttk 笔记本中创建“n”标签?n 是一个变量(用户输入)
- r - RStudio 本地作业:使用“sapply”的“source”多个脚本将不返回任何内容
- android - SVG 图像未在 Nativescript 中显示
- wmi - 如何在多处理器机器上使用 Get-WmiObject 的 Win32_Processor 类
- python - MoviePy ImageClip 随机产生灰色视频
- r - 是否有一个 R 函数可以让我有条件地收集?
- node.js - AWS EC2 Nodejs | 致命错误:接近堆限制的无效标记压缩分配失败 - vuejs 项目中的 JavaScript 堆内存不足