On 2012-09-19 16:28, Gilles Chanteperdrix wrote: > > Jan Kiszka wrote: >> for (vector = 0; vector < NR_VECTORS; ++vector) { >> + /* I-pipe requires initialized vector_irq for system vectors */ >> + if (test_bit(vector, used_vectors)) >> + continue; >> irq = per_cpu(vector_irq, cpu)[vector]; >> if (irq < 0) >> continue; > > This looks wrong to me: you are skipping a part a code that was setting to > -1 vectors that were allocated but not used on this cpu.
I'm skipping only used_vectors, i.e system vectors. They will be set up for I-pipe for that well-known reason. I'm no longer skipping to clear IRQ vectors that are not used on the current CPU (!cpumask_test_cpu(cpu, cfg->domain)). That is what was missing in both approaches so far. Note: vector_free = (vector_irq == -1) && !used_vector Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux _______________________________________________ Xenomai mailing list Xenomai@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai