Messages in this thread | | | Subject | Re: [RFC][PATCH -rt] irqd starvation on SMP by a single process? | From | john stultz <> | Date | Fri, 12 May 2006 10:47:41 -0700 |
| |
On Fri, 2006-05-12 at 07:50 +0200, Ingo Molnar wrote: > * john stultz <johnstul@us.ibm.com> wrote: > > + if(!cpus_equal(current->cpus_allowed, irq_affinity[irq])); > > + set_cpus_allowed(current, irq_affinity[irq]); > > > The patch below appears to correct this issue, however it also > > repeatedly(on different irqs) causes the following BUG: > > ah. This actually uncovered a real bug. We were calling __do_softirq() > with interrupts enabled (and being preemptible) - which is certainly > bad. > > this was hidden before because the smp_processor_id() debugging code > handles tasks bound to a single CPU as per-cpu-safe. > > could you check the (totally untested) patch below and see if that fixes > things for you? I've also added your affinity change.
Yep, no BUG messages and I get irq affinity behavior that matches what I echo into the proc interface.
Looks good to me so far. I'll keep running w/ it and let you know if we see any issues.
thanks -john
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |