- 论坛徽章:
- 6
|
回复 55# embeddedlwp
ULK3上说"与HI_SOFTIRQ软中断相关的软中断函数叫tasklet_hi_action(),而与TASKLET_SOFTIRQ相关的函数叫做tasklet_action()。"
软中断是用open_softirq()注册处理程序的,那tasklet_action(),tasklet_hi_action()在什么时候注册的呢,我怎么没找到?
你是什么版本的内核啊?怎么会找不到呢?kernel/softirq.c- void __init softirq_init(void)
- {
- int cpu;
- for_each_possible_cpu(cpu) {
- int i;
- per_cpu(tasklet_vec, cpu).tail =
- &per_cpu(tasklet_vec, cpu).head;
- per_cpu(tasklet_hi_vec, cpu).tail =
- &per_cpu(tasklet_hi_vec, cpu).head;
- for (i = 0; i < NR_SOFTIRQS; i++)
- INIT_LIST_HEAD(&per_cpu(softirq_work_list[i], cpu));
- }
- register_hotcpu_notifier(&remote_softirq_cpu_notifier);
- open_softirq(TASKLET_SOFTIRQ, tasklet_action);
- open_softirq(HI_SOFTIRQ, tasklet_hi_action);
- }
复制代码 |
|