本栏目下主要归档了一些linux kernel相关的文章,注重结合内核源代码进行说明分析。

内核基础设施——读写信号量

本文首先介绍了读写信号量,然后介绍了其API,接着以一个实验的形式,给大家展示了读写信号量内部的count值的含义。只有明白了count的含义,我们在分析问题时才能得心应手。

内存管理:shrink_lruvec分析

Linux内存回收操作的核心就是扫描LRU链表,完成该工作的函数名称为shrink_lruvec,本文首先介绍了LRU链表,然后详细分析了shrink_lruvec函数。

kswapd内核线程

Linux 内核在系统内存紧张时,会唤醒内核线程kswapd进行内存回收,从而释放掉一些不用的内存。本文将详细分析kswapd的工作流程。

描述系统上cpu和memory的状态:node_states

在内存管理和调度负载均衡中,有许多代码逻辑要遍历node上的内存cpu信息,加上现在的内核都支持内存和cpu的热插拔,所以系统上node的状态在内核上要有专门的数据结构进行描述。

本文就研究一下用于描述node信息的数据结构。