安庆

导航

2017年12月19日 #

linux nvme的sendfile流程

摘要: 在nvme的硬盘上使用sendfile系统调用,到底需要经过哪些流程? do_sendfile >do_splice_direct-->splice_direct_to_actor >do_splice_to 对于xfs,其实就是xfs_file_splice_read xfs_file_splic 阅读全文

posted @ 2017-12-19 20:15 _备忘录 阅读(1154) 评论(0) 推荐(0)

linux workqueue的名字长度小问题

摘要: 在排查一个nvme的的workqueue的问题的时候,发现nvme的queue的进程名被截断了, 一开始怀疑是ps命令截断了,然后看一下crash中对应的长度,发现也是截断的。 一个工作队列的创建流程如下,比如使用alloc_workqueue >__alloc_workqueue_key > 所以 阅读全文

posted @ 2017-12-19 19:03 _备忘录 阅读(764) 评论(0) 推荐(0)

linux的nvme驱动需要关心的统计项

摘要: blk-mq-sysfs.c生成了一些其他的nvme的统计项, 有多少个online的cpu,在驱动加载的时候会默认生成多少个队列,除非内存不足或者在保留内核中,则会减少。 [root@localhost mq]# ls0 10 12 14 16 18 2 21 23 25 27 29 30 32 阅读全文

posted @ 2017-12-19 14:21 _备忘录 阅读(1069) 评论(0) 推荐(0)

linux 中nvme 的中断申请及处理

摘要: 中断的描述符如上所述。作为背景知识,可以理解下面的内容,本文讨论基于的内核版本信息如下: 我们知道,nvme的多队列,默认按照核数的多少来设置,目前nvme的队列有两种,admin队列,IO队列,两者都属于nvme_queue对象,submit queue,complete queue是一个nvme 阅读全文

posted @ 2017-12-19 10:43 _备忘录 阅读(4465) 评论(0) 推荐(0)

linux的nvme驱动参数调优

摘要: nvme的设备,可以调优的参数比较少,相关的代码如下: 参数列表如下: 其中属性为只读的,肯定直接通过/sys/没法修改,有的硬编码的跟驱动相关,可以尝试修改驱动。其余可以尝试调优的参数如下: 1.nomerges (RW) This enables the user to disable the 阅读全文

posted @ 2017-12-19 09:44 _备忘录 阅读(3022) 评论(0) 推荐(0)