问题标签 [linux-kernel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
121 浏览

linux-kernel - 区分执行控制路径

我想区分 linux 内核中的各种执行路径,以便我可以通过在 dmesg 中 grepping 其 id 来监视特定线程。

  1. task_struct->pid 是否足以区分所有执行线程(如代表用户进程执行的内核线程、具有进程上下文但不代表用户进程执行的普通内核线程(如工作队列)、没有进程上下文的内核线程(像 ISR、软 IRQ 和小任务))?

  2. 如果我正在监视用户空间中经常更新的输出文件,我可以使用“tail -f output.txt”之类的东西来监视它。有没有办法对内核日志消息做同样的事情?

0 投票
2 回答
7513 浏览

linux-kernel - 什么是内核的 KMS(内核模式设置)API?

什么是内核的 KMS(内核模式设置)API?

0 投票
2 回答
13691 浏览

linux - nanosleep CPU占用率高吗?

我注意到一个调用 nanosleep 的小测试程序在内核高于 2.6.22 的 Linux 机器上运行时显示出 CPU 使用率的巨大差异。

(是的,我意识到这个程序什么都不做)

如果我编译它并在 openSUSE 10.3 机器(2.6.22.19-0.2-default)上运行它,程序甚至不会出现在“top”生成的进程列表中,这表明它使用的 CPU 时间非常少. 如果我在 openSUSE 11.1 机器(2.6.27.23-0.1-default)上运行它,top 显示程序占用了 40% 的 CPU 时间。在 Fedora 9 (2.6.25-14.fc9.i686) 和 Fedora 10 上运行时,“top”中也显示出同样高的 CPU 使用率。

内核中是否发生了影响这一点的变化?

0 投票
3 回答
2193 浏览

linux-kernel - 添加 insmod 内核 HID 模块

我在隐藏模块中做了一些修改。

我可以成功地将它加载(insmod)到内核 v 2.6.27.14

现在我愿意在内核 v 2.6.27.11 上加载相同的内核模块

由于两个内核版本的 kerbel 源文件没有区别

我可以成功,但我不能在这个 .11 内核版本中添加 /insmod

**

**

问候,

0 投票
5 回答
518 浏览

linux-kernel - Can this kernel function be more readable? (Ideas needed for an academic research!)

Following my previous question regarding the rationale behind extremely long functions, I would like to present a specific question regarding a piece of code I am studying for my research. It's a function from the Linux Kernel which is quite long (412 lines) and complicated (an MCC index of 133). Basically, it's a long and nested switch statement

Frankly, I can't think of any way to improve this mess. A dispatch table seems both huge and inefficient, and any subroutine call would require an inconceivable number of arguments in order to cover a large-enough segment of code.

Do you think of any way this function can be rewritten in a more readable way, without losing efficiency? If not, does the code seem readable to you?

Needless to say, any answer that will appear in my research will be given full credit - both here and in the submitted paper.

Link to the function in an online source browser

0 投票
3 回答
920 浏览

filesystems - 使用 procfs 的 Linux 内核代码:我应该注意什么?

我对内核补丁有一个非常好的想法,我想在形成我的想法之前进行一些研究并查看代码示例。

我正在寻找有趣的代码示例来演示 procfs(Linux/proc文件系统)的高级用法。有趣,我的意思不仅仅是阅读记录的价值。


我的想法是为每个进程提供一个简单的广播机制。例如,让我们考虑一个运行多个实例的进程,rsync并希望检查每个子进程的传输状态(到目前为止已传输了多少字节)。目前,我不知道有什么办法可以做到。

我打算为该过程提供一个最小的接口来将数据写入procfs. 该数据将放置在 PID 目录下。例如:

我可以为此想到许多优势,主要是在并发领域。

顺便说一句,如果这种机制已经存在,请告诉...

0 投票
3 回答
2523 浏览

networking - Linux内核中创建数据包的教程

我试图了解一段数据通过 linux 内核从应用层到内核的详细过程。有谁知道一个好的起点或一个好的教程?

0 投票
1 回答
2493 浏览

c - 在 Linux 内核模块中使用 timer_list 会导致系统崩溃

我正在编写一个使用动态计时器的内核(2.6.28)模块。我正在使用 timer_list 结构如下:

这可以正常工作约 2 秒,直到计时器到期。然后系统崩溃。我也尝试过类似的方法,结果相同:

任何帮助将不胜感激!

0 投票
1 回答
2927 浏览

linux - 如何从 Linux 内核模式设置进程的亲和性?

如何在内核模块中设置进程的 CPU 亲和性?在用户模式下有一个 syscall sched_setaffinity,但我正在寻找内核模式等价物。

在 Linux 内核代码中,还有一个函数叫做sched_setaffinity. 它是从被调用的sys_sched_setaffinity函数中调用的system_call。从表面上看,这是我想要使用的功能。不过,它与系统调用同名的事实让我有点不安。

但众所周知,最好的办法就是尝试一下。所以我做了,我的模块编译了。但是,当我尝试加载模块时,它抱怨名称sched_setaffinity未定义。

0 投票
4 回答
21144 浏览

linux - 什么是可重入内核

什么是可重入内核?