【发布时间】:2014-11-08 01:46:22
【问题描述】:
我正在使用内核模块来学习接口,所以我想打印 CFS 调度程序的红黑树中的进程。所以我想通过current->se.cfs_rq->tasks_timeline 访问它,但这给了我一个error: dereferencing pointer to incomplete type 在这条线上。我尝试通过访问(current->se.cfs_rq)->nr_running 来简化它,但得到了同样的错误。
- 我可以定义
struct rb_node * node和struct rb_root * root,所以这不是问题。
整个代码:
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
#include <linux/rbtree.h>
#include <linux/rbtree_augmented.h>
#include <linux/slab.h>
#include <linux/sched.h>
MODULE_LICENSE("GPL");
int init_module(void)
{
printk("%d\n", (current->se.cfs_rq)->nr_running);
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world proc.\n");
}
【问题讨论】:
标签: c linux-kernel kernel-module