cgroup限制读写速率
0-前言
经常存在需要模拟用户场景下的性能测试,模拟的一个方式就是构造特定带宽的io,而fio、dd等等io测试工具是不具备限制读写速度的功能的,所以这里就要用到cgroup的能力,这里记录一下如何限制特定进程、盘符的读写能力。
1-安装工具&创建组
首先要安装group工具
yum install libcgroup-tools
然后用cgroup工具创建一个iocgroup组
cgcreate -g blkio:/iotest
如果创建成功后,
inux中断-硬中断
0、前言
中断子系统有一次大改造,先mark一下
https://lore.kernel.org/all/20200521200513.656533920@linutronix.de/
arm64参考:Linux 中断管理机制
1、概述
广义上的中断主要分为同步中断和异步中断两种
* 同步(
系统调用
1、概述
linux中有很多的命令是通过用户态实现的调用,例如最基础的read、write函数,通过系统调用,陷入内核态,执行内核中的相关系统sys_read、sys_writeAPI逻辑。
函数的命名也基本遵循上述规律,用户态的函数通常是xyz(),而内核态中的相关调用则是sys_xyz()。由于整个流程涉及到内核态与用户态的切换,所以系统调用的实现与架构强相关。
2、用户态实现
通常来说,
内核同步机制1
1、原子操作
原子操作的核心和是完成命令整个操作不会被打断。
原子操作(atomic operation),不可分割的操作。其通过原子变量来实现,以保证单个CPU周期内,读写该变量,不能被打断,进而判断该变量的值,来解决并发引起的互斥。
由于原子操作的原理,所以在功能实现上需要硬件平台的支持,以x86平台为例,在执行原子操作的时候会在指令前增加一个LOCK_PREFIX前缀,
static __always_