自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (4)
  • 收藏
  • 关注

原创 IO完成软中断对运行CPU的选择 - 避免一次IPI的优化

举例为对下面commit 1的翻译。而commit 1是对commit 2的revert,并加以解释。commit 1将commit 2 revert掉,可避免一个不必要的IPI中断(触发其他CPU产生软中断的IPI)。假设前提条件: 处理器插槽上的处理器芯片有7个cpu(cpu0~7),并假定IO请求是在cpu1上提交(__make_request)的,IO完成的硬中断是在...

2019-08-31 23:13:42 1013

原创 块设备IO完成软中断平衡参数(rq_affinity)的意义

rq_affinity, 块设备IO完成软中断的平衡By default this value is set to 1, which means that once an I/O request has been completed by the block device, it will be sent back to the "group" of CPUs that the request...

2019-08-25 22:26:11 3174

转载 systemtap调试内存泄漏以及内存重复释放

我想内存问题肯定困扰过不少人,调用方法也很多,著名的valgrind、efence、mudflap在一定程度上也能帮助我们解决不少问题,但一些情况下它们也无能无力,比如多进程模型上valgrind好像支持得不是很好,efence和mudflap在大型项目中特别是用了其他第三方库的情况下,可能就早早的发现其他库的一些不是问题的问题就退出了,在一些小项目中用还是可以的。那我这里讲的这个技巧就是用Sys...

2019-08-22 22:42:56 1980 4

原创 NUMA相关

Linux的NUMA机制 NUMA对性能的影响 cgroup的cpuset问题 深挖NUMAhttp://www.litrin.net/2017/10/31/%E6%B7%B1%E6%8C%96numa/ NUMA的原理与局限https://www.cnblogs.com/longchang/p/10734540.html ...

2019-08-20 23:09:40 232

原创 Linux IO并发拥塞控制机制分析-3

如下面的代码,inode,bdi相关的读或写方向的拥塞判断都是通过wb_congested函数,而wb_congested函数判断是否拥塞就是根据“Linux IO并发拥塞控制机制分析-2”中提到的函数blk_set_congested是否设置了拥塞标志(读或写方向)。 inode(文件)的拥塞判断 举例1如下,在进行预读操作时,如果判断当前读方向处于拥塞,则推迟(Defer)...

2019-08-17 23:41:28 403

原创 systemtap查看所能探测的内核函数以及打印调用栈

stap -l 'kernel.function("*")' #列出内核所有可探测的内核函数stap -l 'module("*").function("*")' #列出驱动所有可探测的内核函数stap -l 'module("*").function("ib_alloc_cq")'#查看函数在哪个驱动模块中定义 module("ib_core").function("i...

2019-08-13 23:14:20 2483

转载 Linux lsscsi - list SCSI devices (or hosts) and their attributes

It's a useful tool, list SCSI devices, scsi hosts and their attributes. It uses information in sysfs to list scsi devices(or host), attached to the system. Because most users have permissions to read ...

2019-08-09 21:26:10 396

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

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

2019-08-07 22:47:52 289

原创 记一次排查fio顺序写测试IOPS上不去的问题

测试命令:fio -name=iops -filename=/root/testfio -ioengine=libaio -direct=1 -bs=4k -size=4g -runtime=60 -numjobs=2 -thread -rw=write -group_reporting -time_based两台同配置服务器,同样的测试命令,IOPS相差近40倍:A服务器平均IOPS...

2019-08-06 21:48:29 1660

原创 记一次Ceph OSD处理包时延产生原因

Ceph集群中节点A向节点B的OSD发tcp包,发现B节点的OSD处理该包的时间与该包中携带的A节点发送该包的时间差大于10ms,经过查看业务代码,发现OSD使用epoll_wait有问题,在每次调用epoll_wait获取tcp包处理完毕后,会串行处理其他的事件,某些情况下,由于其他事件处理耗时较多,导致下一次调用epoll_wait的时候增加了一定时延,这个时延就导致了OSD处理包的时延。...

2019-08-04 00:03:22 1082

原创 local_softirq_pending位何时置位

硬中断执行结束在退出之前,都会在irq_exit中判断如果有pending的软中断就触发软中断:内核代码通过调用raise_softirq_irqoff来触发相应的软中断,将相应的bit位置位,这样在irq_exit中判断就有pending的软中断,进而触发执行相应的软中断(直接执行软中断或触发软中断线程):raise_softirq_irqoff函数调用__raise_softi...

2019-08-01 23:10:11 4004

转载 详解Linux中断处理中的hardirq与softirq机制

http://blog.chinaunix.net/uid-23769728-id-3079164.html今天在ChinaUnix论坛内核源码版上与linuxfellow网友讨论到hardirq和softirq的问题,虽 然在《深入Linux设备驱动程序内核机制》(以下简称“ILDD”)第5章“中断处理”对此已有详细的解读,但是我觉得还是有必要再花点时间深入探讨一 下这两者的区别。因为此前关...

2019-08-01 22:40:59 719

lemoal-nvme-polling-vault-2017-final_0.pdf

https://events.static.linuxfound.org/sites/events/files/slides/lemoal-nvme-polling-vault-2017-final_0.pdf

2020-03-13

个人总结 - m25p80.c debug on Micron spi nor_flash.pdf

个人总结 - 对flash芯片MTD驱动文件m25p80.c进行debug,是基于Micron的MT25Q128 spi nor_flash chip(16M)

2017-09-04

ARM9启动机制分析

ARM9启动机制分析 ARM9启动机制分析 ARM9启动机制分析

2010-12-29

labview 典型应用

labview 典型应用labview 典型应用labview 典型应用labview 典型应用labview 典型应用labview 典型应用

2010-08-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除