首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/proc/interrupts是如何更新的?

/proc/interrupts是如何更新的?
EN

Stack Overflow用户
提问于 2013-03-05 15:07:22
回答 2查看 9K关注 0票数 5

我想知道/proc/interrupts是如何更新的?

它是只探测了驱动程序的irq,还是包含系统中所有可能的irqs的列表?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-05 18:20:48

正如您在内核的源代码中所看到的,它显示了系统的所有可能的irqs。

source/fs/proc/interrupts.c:39中,序列操作被初始化为返回与/proc/interrupts系统中存在的中断一样多的元素。

source/kernel/irq/proc.c:479中,我们可以看到通过kstat_irqs_cpu(irq, cpu)从全局计数器中提取每个中断的计数器。

这意味着中断计数信息会在不同的计数器中更新,每个计数器对应一个cpu。计数器在读取proc文件时求和。这是内核中的一种常见模式。它可以防止全局计数器上的争用。

有关每个cpu变量的更多信息,请阅读here。有关linux中中断的更多信息,您可以获取here

票数 8
EN

Stack Overflow用户

发布于 2013-03-05 18:44:23

/proc下的所有文件都是伪文件,这意味着它们中没有实际的数据。

当您访问proc fs下的任何文件时,将调用与该特定proc文件链接的proc方法,并且proc方法将访问某些相关的内核数据结构并动态生成可读取和显示的数据。proc文件中的数据通常用于显示系统的状态信息,或设备驱动程序的状态。

proc fs通常被实现为驱动程序的一部分,通过将proc和seq fs层添加到驱动程序代码中,然而,为了在general.Since中显示系统的状态信息,内核也使用proc。在proc文件之间没有一般的层次结构或分类,与较新的sysfs文件系统相比,它们很少使用。

要了解信息是如何生成的,必须研究在fs/proc/interrupts.c中实现的proc层

这篇website简要解释了其中的一些方法。

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

https://stackoverflow.com/questions/15217793

复制
相关文章

相似问题

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