安庆

导航

2018年9月3日 #

linux 的那些hung 检测机制

摘要: 在dmesg中,看到如下信息: 检测超时的函数: 网卡检测是否hung的关键函数是 fm10k_tx_timeout,如果 if (check_for_tx_hang(tx_ring) && fm10k_check_tx_hang(tx_ring)) 条件满足,则会属于real hung,否则是fa 阅读全文

posted @ 2018-09-03 20:12 _备忘录 阅读(1950) 评论(0) 推荐(0)

linux 3.10 一次softlock排查

摘要: x86架构。一个同事分析的crash,我在他基础上再次协助分析,也没有获得进展,只是记录一下分析过程。记录是指备忘,万一有人解决过,也好给我们点帮助。 有一次软锁,大多数cpu被锁,log中第一个认为被锁的cpu已经被冲掉了,直接敲入log,总共24个cpu,首先看到的是17cpu的堆栈,分析如下: 阅读全文

posted @ 2018-09-03 18:47 _备忘录 阅读(5857) 评论(4) 推荐(0)

NETIF_F_LLTX 的属性

摘要: 在bond初始化的时候,我们可以看到如下属性: /* don't acquire bond device's netif_tx_lock when transmitting */ bond_dev->features |= NETIF_F_LLTX; 在lo口设置的时候,也可以看到这个属性: sta 阅读全文

posted @ 2018-09-03 11:26 _备忘录 阅读(868) 评论(0) 推荐(0)

一个rcu回调导致的简单死锁

摘要: 在自有模块的处理中,我们设计了一个内核线程去做gc, 但同时,我们又用到了rcu,rcu中也会去抢gc的锁,由于该锁用的spin_lock,而不是spin_lock_bh,并没有关软中断,所以在rcu上下文中拿不到锁,造成死锁。 由于call_rcu其实是在软中断中完成的, release_wit_ 阅读全文

posted @ 2018-09-03 09:06 _备忘录 阅读(2190) 评论(0) 推荐(0)