发布时间:2012-12-26 15:15:42
linux内核中两大重要的线程,migration_thread负责cpu的负载均衡(将进程从本地队列移动到目标cpu的队列),kthreadd负责为kthread_create_list链表中的成员创建内核线程。内核版本2.6.24中的引导部分,start_kernel()->rest_init():点击(此处)折叠或打开static void noinline __init_refok rest_init(void) __releases(kernel_lock){ &......【阅读全文】
发布时间:2013-01-01 10:39:14
1、软中断由内核线程ksoftirqd处理,下面说一下它的创建过程。start_kernel()创建init线程,init()调用do_pre_smp_initcalls()->spawn_ksoftirqd(),spawn_ksoftirqd()分两次调用cpu_callback(),分别使用参数CPU_UP_PREPARE和CPU_ONLINE。使用CPU_UP_PREPARE调用cpu_callback()时,创建了ksoftirqd线程,并把task_struct指针存于per_cpu变量per_cpu(ksoftirqd, hotcpu)中;使用CPU_ONLINE调......【阅读全文】