logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux 读文件 - readahead预读算法

根据ondemand_readahead中initial_readahead label处逻辑看,ra->size是由get_init_ra_size函数计算,该函数第一个参数是应用read的数据页(每个数据页4K)的数量,该场景每次读取4K bytes,相当于调用get_init_ra_size(1,32)返回4。这里async readahead就是指generic_file_buffered

文章图片
#linux#文件系统
Linux pelt算法的get_pelt_divider计算原理

上面我们明白了LOAD_AVG_MAX,那么get_pelt_divider直接返回LOAD_AVG_MAX不久好了吗,内核为什么还要考虑period_contrib呢?由于n趋近无穷大,那么公式可以简化为 1024/ (1-y),由于y^32 = 0.5,所以这个等比数据的值就是47742,即LOAD_AVG_MAX。我们知道PELT一个小周期是1ms(1024us),如果一个任务持续运行无限个

#linux#运维#服务器
Ext4文件系统介绍 - 理论篇

但是,ext4_inode_info没有定义指向ext4_inode的字段,只是拷贝了ext4_inode的i_block,i_flags等字段;ext4_sb_info和ext4_super_block中的很多字段相似,但也有区别,ext4_sb_info中的很多字段是根据ext4_super_block的字段计算而得,虽然可以通过 ext4_super_block计算而得到,但是定义在ext4

文章图片
#linux
到底了