内核基础设施——读写信号量
本文首先介绍了读写信号量,然后介绍了其API
,接着以一个实验的形式,给大家展示了读写信号量内部的count
值的含义。只有明白了count
的含义,我们在分析问题时才能得心应手。
本栏目下主要归档了一些linux kernel相关的文章,注重结合内核源代码进行说明分析。
本文首先介绍了读写信号量,然后介绍了其API
,接着以一个实验的形式,给大家展示了读写信号量内部的count
值的含义。只有明白了count
的含义,我们在分析问题时才能得心应手。
Linux
内存回收操作的核心就是扫描LRU
链表,完成该工作的函数名称为shrink_lruvec
,本文首先介绍了LRU
链表,然后详细分析了shrink_lruvec
函数。
Linux
内核在系统内存紧张时,会唤醒内核线程kswapd
进行内存回收,从而释放掉一些不用的内存。本文将详细分析kswapd
的工作流程。
在内存管理和调度负载均衡中,有许多代码逻辑要遍历node
上的内存和cpu信息,加上现在的内核都支持内存和cpu
的热插拔,所以系统上node
的状态在内核上要有专门的数据结构进行描述。
本文就研究一下用于描述node
信息的数据结构。
在Linux
系统中,有很多内存管理的配置参数,本文就详细分析zone_reclaim_mode
参数。