C/C++
-
自适应自旋锁–吞吐量和延迟以及管理开销的折中_自适应锁 什么时候可以用
很多时候,当一个进程为了等待mutex而刚刚进入睡眠的时候,mutex已经被释放了,如果能在第一时间感知mutex被释放那是再好不过的了,解决该问题的方式就是用自旋忙等而不是阻塞等…
-
CFS调度器的思想的新理解
本文通过详细分析老的调度器来说明cfs的优势。总是新理解新理解的,我怎么这么没完没了啊,其实每隔一段时间我都会在工作之余再读一读linux内核源代码的关键部分,每次读都有新的理解,…
-
路由表实现的一些想法
Trie树路由表其实不是很复杂,没有必要看懂linux代码,理解思想就可以了,如果想要简单一点的,就找找最新BSD的实现,就是去掉了 linux-trie树的动态维护,对于ipv4…
-
计算机cpu和外设的平等性–DMA简述_cpu能对外设进行dma访问吗
我一向认为计算机内部cpu没有什么特殊的,它和磁盘以及网卡一样,算是一种设备,它们共同连接于总线 上,同样拥有一定的智能,不过这个论点只是宏观上的,cpu的智能化要比别的外设更高一…
-
NAPI模式–中断和轮询的折中以及一个负载均衡的问题_配置napi 查询和中断间隔
处理外部事件是cpu必须要做的事,因为cpu和外设的不平等性导致外设的事件被cpu 当作是外部事件,其实它们是平等的,只不过冯氏机器不这么认为罢了,既然要处理外部事件,那么就需要一…
-
CFS调度器中新进程创建之后的事情—任何事情都是一种权衡(续)_cfs调度 新进程
linux中的进程是个很重要的概念,这个就不必多说了,linux中进程创建的fork机制继承了unix的基因,是操作系统中最重要的东西,fork中的写时复制机制是fork的精髓,是…
-
CFS调度器的精彩–任何事情都是一种权衡_calc_delta_fair
还记得曾经写过一篇叫做《至今不敢写一篇cfs的文章》,那时我只是默默地欣赏cfs的和谐,可是一些转瞬即逝的感悟不写出来会是很大的遗憾,其实也谈不上什么感悟,只是理解罢了,有时你瞬间…
-
我提交的一个内核补丁—CFS的child-runs-first
今天提交了一个内核补丁,只要是关于fork的时候子进程优先于父进程运行的补丁,email正文如下: CFS scheduler become the main scheduler …
-
CFS调度器中子进程被唤醒后的细节–实验和理论
在我提交并自己打上child-runs-first补丁之前,我做了一个实验,目的是验证一下我先前理论分析的结果,我觉得子进程无论如何抢占父进程的几率都会比不抢占要大些,当然前提是要…
-
CFS调度器虚拟时钟归一化理想的破碎
前面一篇文章用图表的形式阐述了cfs的原理,然后那张图表所展示的行为仅仅是理想意义上的行为,我们看一 下它有何不足,它的不足就是太精确了,为何这么说呢?看看每一个vruntime归…