LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 880|回复: 2

类似 semaphore 但不进 kernel 的办法?

[复制链接]
发表于 2010-3-19 13:43:59 | 显示全部楼层 |阅读模式
最近要写个用户空间的驱动,kernel 部分用 uio。现在的问题是,在用户空间访问 mmap'd 寄存器时,为了防止 race condition,要用 binary semaphore。

为了提高效率,有没有比 semaphore 还好的办法来防止 race condition?主要的问题是 sem_wait() 有 kernel context switch。有没有办法不需要 kernel context switch 就可以 lock 资源访问?
发表于 2010-3-19 16:04:58 | 显示全部楼层
狠一点!锁中断,^_^!不过在smp系统中好像不行!现在的系统越来越复杂了,现有的手段也越来越不好用了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-20 00:04:46 | 显示全部楼层
锁中断还是要进kernel的。有没有不进kernel的办法?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表