zoukankan      html  css  js  c++  java
  • RCU

    RCU看了好几遍,但是一直没有看明白,今明两天一定要攻下RCU这座大山

    RCU是Read-Copy-Update

    读的时候,该CPU上禁止抢占,也就是说这个CPU是不允许调度的【是设置了什么环境变量吗?在schedule_tick中会判断这个环境变量,然后会禁止去设置PREET的值】,也就是说这个CPU上仍然会相应中断,但是,so sorry,无论时钟中断怎么来,怎么更新我这个进程的执行时间,但是我仍然是不会让出CPU的。   

    那除了禁止抢占之外,还需要表明这个CPU目前正处于questience期呀,现在

    文档中说RCU的一套核心的思想是:1)阻止读者看到将要被销毁的数据;2)完成真正的销毁工作;、

    比如从一个链表中把一个节点给去掉,那么

    rcu的读者不需要任何的锁,不需要施加任何的原子操作、写任何的变量到内存中去,也不需要执行任何的内存屏障的操作,

    同spinlock一样,rcu并不允许读者被block住,不允许一直死循环,也不允许进程被调度出去让用别的用户态去执行。因此,一旦一个CPU被检测到没有出现上述的三种情况,那么我们就认为这个CPU已经安全地出了上述的RCU的critial area,

    实现方法是一个CPU本地的RCU的计数器

    什么叫做实时的操作系统,是说规定了一个任务的deadline,在某个时间点上一定要完成

  • 相关阅读:
    iscroll4实现轮播图效果
    用css样式围剿等高列问题(转载)
    一些小bug
    前端代码规范
    !DOCTYPE html文档类型声明简写 HTML5 DOCTYPE缩写
    JS判断鼠标向上滚动还是向下滚动
    css Cursor:url()自定义鼠标指针样式为图片
    线段树-矩形面积求并
    值域线段树 bzoj 4627
    简单数位DP
  • 原文地址:https://www.cnblogs.com/honpey/p/7236943.html
Copyright © 2011-2022 走看看