Re: softirq buggy [Re: Serial port latency]

2001-04-08 Thread Manfred Spraul
From: <[EMAIL PROTECTED]> To: "Manfred Spraul" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Sunday, April 08, 2001 7:58 PM Subject: Re: softirq buggy [Re: Serial port latency] > Hello! > > > But with a huge overhead. I'd prefer to call it dir

Re: softirq buggy [Re: Serial port latency]

2001-04-08 Thread kuznet
Hello! > But with a huge overhead. I'd prefer to call it directly from within the > idle functions, the overhead of schedule is IMHO too high. + if (current->need_resched) { + return 0; + } + if (softirq_active(smp_processor_id()) & softi

Re: softirq buggy [Re: Serial port latency]

2001-04-08 Thread Manfred Spraul
From: <[EMAIL PROTECTED]> > Hello! > > > + if (softirq_active(smp_processor_id()) & softirq_mask(smp_processor_id())) { > > + do_softirq(); > > + return 0; > > BTW you may delete do_softirq()... schedule() will call this. > But with a huge overhead. I'd prefer to call it directly from within the

Re: softirq buggy [Re: Serial port latency]

2001-04-08 Thread kuznet
Hello! > + if (softirq_active(smp_processor_id()) & softirq_mask(smp_processor_id())) { > + do_softirq(); > + return 0; BTW you may delete do_softirq()... schedule() will call this. > + * > + * Isn't this identical to default_idle with the 'no-hlt' boot > + * option

Re: softirq buggy [Re: Serial port latency]

2001-04-08 Thread Manfred Spraul
Pavel Machek wrote: > > Ok. I was missing the fact it is checked on going userspace. > What about the attached patch? -- Manfred // $Header$ // Kernel Version: // VERSION = 2 // PATCHLEVEL = 4 // SUBLEVEL = 3 // EXTRAVERSION = -ac3 --- 2.4/include/linux/interrupt.h Thu Feb 22

Re: softirq buggy [Re: Serial port latency]

2001-04-06 Thread Pavel Machek
Hi! > > > Ok, there are 2 bugs that are (afaics) impossible to fix without > > > checking for pending softirq's in cpu_idle(): > > > > > > a) > > > queue_task(my_task1, tq_immediate); > > > mark_bh(); > > > schedule(); > > > ;within schedule: do_softirq() > > > ;within my_task1: > > > mark_bh();

Re: softirq buggy [Re: Serial port latency]

2001-04-04 Thread Manfred Spraul
From: "Pavel Machek" <[EMAIL PROTECTED]> > > > Ok, there are 2 bugs that are (afaics) impossible to fix without > > checking for pending softirq's in cpu_idle(): > > > > a) > > queue_task(my_task1, tq_immediate); > > mark_bh(); > > schedule(); > > ;within schedule: do_softirq() > > ;within my_task

softirq buggy [Re: Serial port latency]

2001-04-04 Thread Pavel Machek
Hi! > > Seems floppy and console is buggy, then. > > > > No. The softirq implementation is buggy. > I can trigger the problem with the TASKLET_HI (floppy), and both net rx > and tx (ping -l) > > > > What about creating a special cpu_is_idle() function that the idle > > > functions must call bef