linux kernel 工程师
全部博文(99)
发布时间:2014-02-05 17:51:28
__local_bh_disable(SOFTIRQ_OFFSET)/__local_bh_enable(SOFTIRQ_OFFSET)仅仅是增加/减少抢占计数, 这两个函数被__do_softirq()调用,应当不会被kernel线程来调用static void __local_bh_enable(unsigned int cnt){ WARN_ON_ONCE(in_irq()); WARN_ON_ONCE(!irqs_disabled()); if (softirq_cou.........【阅读全文】
发布时间:2014-02-05 17:20:41
1. softirq执行的上下文softirq执行的上下文是中断上下文,也就是中断服务程序即将结束时。 irq_exit 会调用invoke_softirq();/* * Exit an interrupt context. Process softirqs if needed and possible: */void irq_exit(void){ account_system_vtime(current); trace_hardirq.........【阅读全文】
发布时间:2014-02-05 16:07:25
1. tasklet是softirq的一种。enum{ HI_SOFTIRQ=0, TIMER_SOFTIRQ, NET_TX_SOFTIRQ, NET_RX_SOFTIRQ, BLOCK_SOFTIRQ, BLOCK_IOPOLL_SOFTIRQ, TASKLET_SOFTIRQ, SCHED_SOFTIRQ, HRTIMER_SOFTIRQ, RCU_SOFTIRQ, /* Preferable RCU should .........【阅读全文】