分配task_struct时分配页面的大小的问题

#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)

#define THREAD_SIZE_ORDER    1

THREAD_SIZE定义为两个页面来表示一个内核线程

#define alloc_task_struct_node(node)                        \

({                                        \
    struct page *page = alloc_pages_node(node, GFP_KERNEL | __GFP_COMP,    \
                         KERNEL_STACK_SIZE_ORDER);        \
    struct task_struct *ret = page ? page_address(page) : NULL;        \
                                        \
    ret;                                    \

})

#define KERNEL_STACK_SIZE_ORDER      3

但是为什么在分配任务节点时分配的是8个页面呢?

你可能感兴趣的:(分配task_struct时分配页面的大小的问题)