Linux IO并发拥塞控制机制分析-2

70 篇文章 7 订阅 ¥9.90 ¥99.00
本文继续探讨Linux IO并发拥塞控制机制,主要关注如何在__get_request函数中判断并设置拥塞标志,以及用户调整单盘并发IO个数时如何影响拥塞状态。同时阐述了在请求处理完毕时如何清除拥塞标志,并唤醒等待的线程。
摘要由CSDN通过智能技术生成

如"Linux IO并发拥塞控制机制分析-1"所述,在__get_request函数值中判断若符合拥塞条件则调用blk_set_congested 设置拥塞标志(同步与异步),这里所说的拥塞控制是指对单个磁盘的拥塞控制(单盘对应一个request_queue):

除了在_get_request函数中会判断是否设置拥塞标志,当用户在调整单盘并发IO个数(/sys/block/sda/queue/nr_requests)时,会根据所调整的值设置(或解除)拥塞状态:

清除拥塞标志的时机是在request处理完毕释放时,清除拥塞标志时,会判断如果有提交IO的线程因拥塞控制而睡眠会将其唤醒:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值