--- ul/kernel/softirq.c.~1~ 2003-09-14 22:03:39.000000000 +0200 +++ ul/kernel/softirq.c 2003-09-14 22:30:05.000000000 +0200 @@ -77,8 +77,7 @@ static inline int softirqd_is_waken(unsi */ #define MAX_SOFTIRQ_LOOPS 8 -static void FASTCALL(__do_softirq(int ksoftirqd)); -static void __do_softirq(int ksoftirqd) +asmlinkage void do_softirq(void) { int cpu = smp_processor_id(); __u32 pending; @@ -91,10 +90,7 @@ static void __do_softirq(int ksoftirqd) local_irq_save(flags); - if (!ksoftirqd && softirqd_is_waken(cpu)) - pending = 0; - else - pending = softirq_pending(cpu); + pending = softirq_pending(cpu); loops = 0; if (pending) { @@ -141,11 +137,6 @@ restart: local_irq_restore(flags); } -asmlinkage void do_softirq() -{ - __do_softirq(0); -} - /* * This function must run with irq disabled! */ @@ -424,7 +415,7 @@ static int ksoftirqd(void * __bind_cpu) __set_current_state(TASK_RUNNING); while (softirq_pending(cpu)) { - __do_softirq(1); + do_softirq(); if (current->need_resched) schedule(); }