linux kernel 工程师
全部博文(99)
发布时间:2014-02-05 17:53:49
x86/do_irq()arm/asm_do_irq() CONFIG_IRQ_FORCED_THREADING ? 什么用途?------------------------------#define PREEMPT_BITS 8#define SOFTIRQ_BITS 8#define NMI_BITS 1#define MAX_HARDIRQ_BITS 10#define PREEMPT_SHIFT 0#define SOFTIRQ_SHIFT .........【阅读全文】
发布时间: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 .........【阅读全文】