gpt4 book ai didi

linux - 如何在内核模块中使用 sysfs?

转载 作者:太空狗 更新时间:2023-10-29 11:39:58 26 4
gpt4 key购买 nike

在用户空间中,我可以echo noop >/sys/block/sda/queue/scheduler

如何在内核模块中做同样的事情?

我期待这样的事情(伪代码):

struct dentry* e = sysfs_get_root();
vfs_path_lookup(e, ????, "block/sda/queue/scheduler", ???);
????;
struct something* q = ????;
????->store(q, "noop", 1);
/* some cleanup */

如何正确实现?

我的内核模块只是注册了 SysRQ 处理程序,并且应该在 SysRQ 被触发时配置 io 调度程序(用户空间程序可能会因为糟糕的 io-scheduler 而挂起)

最佳答案

只是没有办法正确地实现它。如果你无论如何都想这样做,而且了解为什么这是一个坏主意 (tm),请参阅此 article

关于linux - 如何在内核模块中使用 sysfs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4405670/

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