- 博客(2)
- 收藏
- 关注
原创 linux内核同步机制-RCU(2)
在上一篇文章里,我们通过几段代码初步认识了RCU,也知道了RCU有下面几个特点: 在读操作的代码段,RCU和读写锁几乎一样,但不会被写操作阻塞 RCU主要用于保证指针数据的同步 在写操作时,RCU分为两步,将指针指向新内存,推迟回收旧内存 由于在某一时间段内会同时存在新数据和旧数据,所以只适用于不严格要求数据同步的场景 这次我们就就到内核代码里去看看RCU到底是怎么实现的,首先我们要找到linux内核里RCU都有哪些文件,大家可以在下面这张图里看到,需要提前...
2021-01-30 17:34:34 377
原创 linux内核同步机制-RCU(1)
Linux内核里的同步机制众多,RCU(read-copy update)可以说是实现上比较复杂的一种了,比较适合用在读操作很多而写操作极少的情况,可以用来替代读写锁。RCU的实现本质上是一种trade-off,为了让读操作的开销尽可能的小,写操作的完成可以被推迟。我们先通过几个内核中的例子来了解一下。首先来看RCU在读操作方面是如何替代读锁的,观察下面的代码我们发现在使用上几乎没有什么差别,只是把read_lock()/read_unlock()换成了rcu_read_lock()/rcu_r..
2021-01-27 00:23:48 357
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人