首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让linux内核跟踪在可加载模块中创建的块设备的io统计量?

如何让linux内核跟踪在可加载模块中创建的块设备的io统计量?
EN

Unix & Linux用户
提问于 2020-09-29 11:35:23
回答 1查看 327关注 0票数 0

我一直在查找,每个人都解释/proc/diskstats文件,但似乎没有人解释这些数据来自何处。

我找到了这样的评论:

Just remember that /proc/diskstats is tracking the kernel’s read requests–not yours.

在本页上:

https://kevinclosson.net/2018/10/09/no-proc-diskstats-does-not-track-your-physical-i-o-requests/

但基本上我的问题是,我有一个内核模块,它创建一个块设备,并通过blk_queue_make_request而不是blk_init_queue来处理请求处理程序,就像dm一样,我不希望内核为我排队。

一切都很好,但是没有任何东西出现在/proc/diskstats中我以为内核会理清这些信息,因为它正在处理对内核模块的请求,但显然不是。或者我在某个地方遗漏了一面旗帜什么的。

有什么想法吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-11-10 16:59:14

所以我找到了..。内核似乎为你提供了辅助功能..。

您需要request_queue,bio和gendisk,在您处理io之前和之后调用这些.

代码语言:javascript
复制
unsigned long start_time;
start_time = jiffies;
generic_start_io_acct(q, bio_op(bio), bio_sectors(bio), &gd->part0);

generic_end_io_acct(q, bio_op(bio), &gd->part0, start_time);

你看,你的数据和你的块装置开始出现在碘化钾里。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/611980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档