c or linux

[공부중] queue_task 함수에서 tq_immediate 사용하기

'김용환' 2011. 4. 21. 14:40

<linux 2.4>

queue_task 함수에서 tq_immediate를 쓸려면, mark_bh 라는 bottomhalf 함수를 호출해야 한다.
강제적으로 sw int를 생성하는 함수이다.

void ost1_interrupt(int irq, void *dev_id, struct pt_regs *regs)

{

OST1_TIMER_OFF;

    printk("OST1 Int enter ...\n");

    flag_ost1Int = 1;

tq_ost1.routine = tq_timer1;

tq_ost1.data = (void *) 10;

queue_task(&tq_ost1, &tq_immediate);

mark_bh(IMMEDIATE_BH); 

    printk("OST1 Int exit...\n");

}