linux - RCU 同步是否只为所有不同数据类型的读取器持有一个全局锁?
问题描述
作为一名 Linux 内核程序员,我已经学会了使用 RCU 而不是 rwlock 来获得高性能。但是RCU只提供了以下API,没有参数来服务各种数据类型的保护。
rcu_read_lock()
rcu_read_unlock()
正如将为每个人提供rwlock
一个论据。lock
read_lock(lock)
write_lock(lock)
如果RCU只持有一个系统全局锁,这合理吗?回收阻塞,直到其他数据类型的所有读取器完成。它会损害全球系统的性能吗?
解决方案
推荐阅读
- c++ - Alsa - 当应用程序作为服务运行时,在应用程序中设置音量会有所不同
- scala - 通过 Pureconfig 从资源目录加载不同的文件
- python - 如何通过组合两个列表来形成字典
- docker - 限制用户访问 Docker Registry 以进行 docker push 操作
- c++ - 跨线程的 std::stringstream 无法按预期工作
- java - 找不到执行环境“JavaSE-1.8”的有效 JRE
- python - 在 Python subprocess.Popen 调用期间测量 CPU 时间
- node.js - nodejs的calDAV服务器
- sql - SQL 按特定值排序
- typescript - 在 React Native Typescript 中将带参数的函数传递给子组件