c - write_unlock/write_unlock_irqrestore/write_unlock_irq/write_unlock_bh 的区别?
问题描述
在 Linux 内核中,我们有多种读写锁方法:
void write_unlock(rwlock_t *lock);
void write_unlock_irqrestore(rwlock_t *lock, unsigned long flags);
void write_unlock_irq(rwlock_t *lock);
void write_unlock_bh(rwlock_t *lock);
有谁知道区别和可能的情况?
解决方案
write_unlock() Releases given lock
write_unlock_irq() Releases given lock and enables local interrupts
write_unlock_irqrestore() Releases given lock and restores local interrupts to given previous state
write_unlock_bh() Releases given lock, and enables local interrupts (bottom half)
推荐阅读
- php - 在刀片中,我想打印除来自模型的 $id 项目之外的所有项目
- python - 在 pandas 中的 groupby 之后转置一些列
- reactjs - 如何访问子元素的引用
- android - 如何在同一页面上的 Fragment 内创建具有 3 个 Fragment 的 ViewPager?
- javascript - 离开组件后将值保存在数组中
- javascript - 将功能分配给对象
- android - 当我尝试通过我的应用程序访问 api 时收到 403 错误
- flutter - 自定义小部件右侧的 RenderFlex 溢出
- influxdb - 如何根据测量名称将数据写入不同的数据库
- c# - 在 LINQ 中将 DateTime 与毫秒进行比较