Di mana definisi struct task_struct di Linux Kernel 2.6.30.5?

9

Di kernel versi 2.6.15, saya dapat menulis ulang task_structdi file (include / linux / sched.h), seperti:

struct task_struct {  
    unsigned did_exec:1;  
    pid_t pid;  
    pid_t tgid;  
    ...
    char hide;
}  

Tapi, sayangnya, ketika saya memutakhirkan ke versi 2.6.30.5, saya melihat melalui file yang sama, saya hanya menemukan deklarasi task_struct, seperti:

struct task_struct;

Dan saya tidak tahu file mana yang harus saya rujuk dengan tujuan untuk menentukan file saya sendiri task_struct? Adakah yang bisa membantu saya?

kaiwii ho
sumber

Jawaban:

3

Saya menggunakan pemerasan Debian. Saya melihat definisi di header yang sesuai dengan kernel saya saat ini, di /usr/src/linux-headers-2.6.32-5-common-vserver/include/linux/sched.h. Definisi dimulai dengan

struct task_struct {
        volatile long state;    /* -1 unrunnable, 0 runnable, >0 stopped */
        void *stack;
        atomic_t usage;
        unsigned int flags;     /* per process flags, defined below */
        unsigned int ptrace;

        int lock_depth;         /* BKL lock depth */

HTH.

Faheem Mitha
sumber
Jadi, apakah saya menggunakan versi yang tidak stabil? Tetapi apakah Anda punya ide di mana defination beralih ke? Ada petunjuk?
Thx
@ Kaiwiiho: Maaf, saya tidak yakin apa yang Anda maksud.
Faheem Mitha
i mean bahwa apakah versi 2.6.15 tidak stabil. Dan, saya berpikir bahwa definisi harus ada dalam file .c yang mendelikasikan sched.h.Namun sayangnya, saya belum memikirkan metode untuk mencari tahu file c. dapatkah kamu memberikan beberapa petunjuk untukku?
kaiwii ho
@ Kaiwiiho: Tidak yakin maksud Anda dengan stabil. 2.6.15 adalah rilis kernel. Definisi struct di file header, sejauh yang saya bisa lihat. Apa yang sedang Anda cari?
Faheem Mitha