自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除