gpt4 book ai didi

Linux 内核 : Insert a new variable in the PCB and feed data from a user application to kernel

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:46 24 4
gpt4 key购买 nike

我是linux内核开发新手。现在我正在尝试编译我自己的内核。

我的问题是我想像那样将一个新变量插入到 struct sched_entity 中

struct sched_entity {

struct load_weight load;
struct rb_node run_node;
struct list_head group_node;
unsigned int on_rq;

u64 exec_start;
u64 sum_exec_runtime;
u64 vruntime;
u64 prev_sum_exec_runtime;
u64 cache_miss_rate; // the new variable I insert

u64 nr_migrations;
.....
.....
}

对于新的comming流程,我想将新变量设置为1。然后在流程执行后,我计算缓存未命中率并将数据输入变量(更新变量),然后使用数据进行修改内核中的一些其他参数(例如 vruntime 和 slice)。

但我不知道如何为新的comming进程初始化新变量(我知道子进程会从它的父进程复制PCB,但在一开始,init进程无法复制并且必须初始化它PCB。我想知道 init 进程如何初始化它的 PCB,以便我可以修改它)。

此外,我也很难找出如何从用户级应用程序将数据输入新变量。

非常感谢。

最佳答案

将变量/数据引入到profs/sysfs文件中,让用户空间从中获取/设置数据,内核响应这些读/写操作

关于Linux 内核 : Insert a new variable in the PCB and feed data from a user application to kernel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37251048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com