RCU(2)- 使用方法

作者:沙漠之狐 发布于:2019-5-24 19:36 分类:内核同步机制

本文介绍RCU的使用方法。

阅读全文>>

标签: 无锁编程

评论(1) 浏览(18345)

RCU(1)- 概述

作者:沙漠之狐 发布于:2019-5-24 19:30 分类:内核同步机制

本文介绍RCU。

阅读全文>>

标签: 无锁编程

评论(0) 浏览(14567)

Linux内核的自旋锁

作者:沙漠之狐 发布于:2019-5-17 19:11 分类:内核同步机制

自旋锁用于处理器之间的互斥,适合保护很短的临界区,并且不允许在临界区睡眠。申请自旋锁的时候,如果自旋锁被其他处理器占有,本处理器自旋等待(也称为忙等待)。

进程、软中断和硬中断都可以使用自旋锁。

自旋锁的实现经历了3个阶段:

(1)     最早的自旋锁是无序竞争的,不保证先申请的进程先获得锁。

(2)     2个阶段是入场券自旋锁,进程按照申请锁的顺序排队,先申请的进程先获得锁。

(3)     3个阶段是MCS自旋锁。入场券自旋锁存在性能问题:所有申请锁的处理器在同一个变量上自旋等待,缓存同步的开销大,不适合处理器很多的系统。MCS自旋锁的策略是为每个处理器创建一个变量副本,每个处理器在自己的本地变量上自旋等待,解决了性能问题。

阅读全文>>

标签: Linux 自旋锁

评论(13) 浏览(22425)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog