免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2865 | 回复: 0
打印 上一主题 下一主题

关于sync(void)函数被阻塞问题,涉及pdflush(续) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-16 19:29 |只看该作者 |倒序浏览
本帖是对<关于void sync(void)函数被阻塞问题>一帖的最新进展,希望曾经看过该帖的大侠们继续关注关注..

   前帖简单描述:
   x86的机器,256m内存,在使用
  1. /bin/hdparm -t /dev/sda
复制代码
测试USB Disk设备的时候有时候会delay好长时间,用strace分析,发现是在hdparm中做sync调用的时候被阻塞.

   最新进展:
   在对测试前后进程做分析后
  1. ps -A
复制代码
发现:
   测试前:
  

  1.    ??0 00:00:00 pdflush
  2.    ??1 00:00:20 pdflush
  3.    
复制代码

   测试后:
  

  1.    ??0 00:00:00 pdflush
  2.    ??1 00:00:50 pdflush
  3.    
复制代码

   我们发现pdflush在测试中运行的时间正好就是usb测试delay的时间.
   分析sync系统调用,发现其第一步就是wake up pdflush这个系统进程.
   
   我猜测:由于pid为??1的pdflush一直在运行,所以在sync唤醒pdflush的时候就一直阻塞到??1的进程运行结束,所以才会出现上述的现象.
   不知道各位高手是如何看待这个问题的呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP