如下面的代码,inode,bdi相关的读或写方向的拥塞判断都是通过wb_congested函数,而wb_congested函数判断是否拥塞就是根据“Linux IO并发拥塞控制机制分析-2”中提到的函数blk_set_congested是否设置了拥塞标志(读或写方向)。
-
inode(文件)的拥塞判断
举例1如下,在进行预读操作时,如果判断当前读方向处于拥塞,则推迟(Defer)预读, 防止加重IO压力:
举例2如下,fadvise函数判断到写拥塞时,则不进行回写:
如下面的代码,inode,bdi相关的读或写方向的拥塞判断都是通过wb_congested函数,而wb_congested函数判断是否拥塞就是根据“Linux IO并发拥塞控制机制分析-2”中提到的函数blk_set_congested是否设置了拥塞标志(读或写方向)。
举例1如下,在进行预读操作时,如果判断当前读方向处于拥塞,则推迟(Defer)预读, 防止加重IO压力:
举例2如下,fadvise函数判断到写拥塞时,则不进行回写: