安庆

导航

上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 17 下一页

2018年9月3日 #

linux 3.10 一次softlock排查

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

posted @ 2018-09-03 18:47 _备忘录 阅读(5543) 评论(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 _备忘录 阅读(823) 评论(0) 推荐(0) 编辑

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

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

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

2018年8月30日 #

linux 使用spinlock的配对关系问题

摘要: 大家使用spinlock的时候,一般是这么配对: spin_lock spin_unlock 最轻 spin_lock_bh spin_unlock_bh 较轻 spin_lock_irq spin_unlock_irq 较重 spin_lock_irqsave spin_lock_irqresto 阅读全文

posted @ 2018-08-30 16:29 _备忘录 阅读(379) 评论(0) 推荐(0) 编辑

2018年8月28日 #

linux 旁路掉协议栈的处理点

摘要: 对于协议栈的发展,目前有三种处理趋势,一种是类似于使用dpdk的方式,然后将协议栈放到用户态来做,做得比较好的一般都是以bsd的协议栈为底子,可以参考的是腾讯开源的的方案,另外一种是,继续放在内核,但进行一些旁路,比如netpoll的架构,或者pass某一段路径。最后一种是像google一下推出新的 阅读全文

posted @ 2018-08-28 17:02 _备忘录 阅读(605) 评论(0) 推荐(0) 编辑

2018年8月27日 #

linux 2.6.32文件系统 fd与file*之间的关系

摘要: 给定如下一定情况: 比如对于fd为3,如何快速获取对应的file* 信息?虽然这个命令输出的时候,第二列就是对应的file*,第三列就是dentry,第四列就是对应的inode,但是今天我们通过代码找到的file*是否正确。 对于fd来说,一般会根据 fget_light-->fcheck_file 阅读全文

posted @ 2018-08-27 10:44 _备忘录 阅读(414) 评论(0) 推荐(0) 编辑

2018年8月24日 #

linux 2.6.32文件系统的inode

摘要: 接上文: 每个inode对于所属的文件系统来说,是唯一的。比如有两个硬盘,都是xfs分别挂载到两个挂载点,那么对应的这个文件系统里,inode的内存地址也是唯一的,但是可以和其他文件系统中的i_ino成员可能会相同。 inode和对应的super_block 怎么对应起来呢,inode的i_sb_l 阅读全文

posted @ 2018-08-24 16:48 _备忘录 阅读(327) 评论(0) 推荐(0) 编辑

2018年8月23日 #

linux 2.6.32文件系统的dentry父子关系

摘要: 我们知道,linux文件系统,inode和dentry是有对应关系的,dentry是文件名或者目录的一个管理结构,2.6内核中: struct dentry { atomic_t d_count; unsigned int d_flags; spinlock_t d_lock; int d_moun 阅读全文

posted @ 2018-08-23 18:58 _备忘录 阅读(1233) 评论(0) 推荐(0) 编辑

2018年8月22日 #

a stop job is running for Security Auditing Services

摘要: 内核是3.10.0-514.el7,启动时有如下报错: a stop job is running for Security Auditing Services(56s / 1min 30s) 系统启动失败,启动之后立刻会进入关机流程,看打印,明显已经加载了内核,但是在进行内核的启动任务的时候,遇到 阅读全文

posted @ 2018-08-22 15:53 _备忘录 阅读(807) 评论(0) 推荐(0) 编辑

一个未完成的2.6.32-220内核踩内存crash分析记录

摘要: 堆栈如下: 函数端在s_show: 发现很多个s_show的定义,所以反汇编下出错的地址: [exception RIP: s_show+228] RIP: ffffffff81166504 根据代码行,找到的函数是slab.c中的s_show,可以很明显根据堆栈看到最后回溯的rsi是空指针,所以会 阅读全文

posted @ 2018-08-22 14:58 _备忘录 阅读(1563) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 17 下一页