免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: lovegq

[CPU及多核] 求助, 能不能获得futex在用户态的调用路径?? [复制链接]

论坛徽章:
0
发表于 2013-02-28 23:01 |显示全部楼层
另外,你不应该在sys_futex插桩吧 那个唤醒也会走这个总入口  不如到实际阻塞的futex_wait处去插

论坛徽章:
0
发表于 2013-03-01 16:51 |显示全部楼层
回复 10# chenyu105


    用pstack打印,没看到信号处理函数, 只不过打印了一堆线程堆栈,不知道哪个是哪个,我在 syscall.futex.return中
   在 kill -19 之前 打印了当前的 tid() ,但是感觉对不上

  总结一下,
    1  在syscall.futex.return 用 kill -19 还是有用的, 进程确实停在那里了,
   2  此时用 pstack 确实可以打印出函数堆栈
   3  print_ubacktrace 确实不靠谱 , 堆栈信息 基本上只有1,2个

  但是 在多线程环境下, 好多stack,分不清哪个是哪个,
    试图 用 systemtap的 tid() 函数进行区分,但是好像不准确

  另外 像 futex(0x407d9860, FUTEX_WAIT, 2, NULL) 这种,跟用户态的 mutex, cond 变量间的对应关系很难找
  目前发现了一些规律,但是工作还在继续中,似乎有点儿希望

论坛徽章:
0
发表于 2013-03-01 16:52 |显示全部楼层
回复 11# chenyu105


    插桩函数 参考的 官方example中的 futexes.stp 脚本,里面有对 futex_wait的判断

论坛徽章:
0
发表于 2013-03-01 22:11 |显示全部楼层
这样也可以,涨姿势了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP