커널 3.8에서 진행 하고 있습니다.
CPU가 현재 실행중인 PID값을 받아오는 모듈 프로그램을 짜고 있는데 잘 되지 않네요..
조언좀 부탁드립니다.
/proc/kallsyms 에 runqueues가 존재 함에도 불구하고 계속 정의 되어있지 않다고 하네요.
그래서 extern struct rq runqueues; 를 선언했는데 결과가 같네요 ㅠ.ㅠ
목적은 현재 cpu가 실행중인 PID값을 받아오는 프로그램을 만드는 것입니다.
소스코드랑 dmesg 추가합니다.
댓글 2
.
안녕하세요.
cpu_rq()는 다음과 같이 정의되어 있습니다.
#define cpu_rq(cpu) (&per_cpu(runqueues, (cpu)))
즉, percpu변수 runqueues를 접근해야 합니다.
하지만 runqueues는 module에서는 접근이 안되는 변수입니다.
EXPORT_SYMBOL() 같은 macro로 선언되어 있어야 합니다.