Re: [patch] rt: fix ipi kfree(), introduce IPI_SOFTIRQ

From: Ingo Molnar
Date: Thu Feb 12 2009 - 03:22:36 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> ------------------>
> Subject: rt: fix ipi kfree(), introduce IPI_SOFTIRQ
> From: Ingo Molnar <mingo@xxxxxxx>
> Date: Thu Feb 12 09:06:11 CET 2009
>
> in 2.6.28 generic_smp_call_function_interrupt() grew a kfree(),
> which is a rather complex, sleepable method under -rt. But the
> IPI code runs as a hardirq - which cannot run such code.
>
> So defer this work to a softirq context instead. It still stays
> on the same CPU so the percpu IPI assumptions are upheld.

On a second thought ...

I think we could eliminate the kfree() instead, and keep the
atomicity of IPI cross-calls. Linus expressed doubts about
the IPI kmalloc()/kfree() pair we do in the generic SMP IPI
code, suggesting that it probably does not help performance
all that much - so such a change might be upstream-able as well
and would keep -rt closer to mainline.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/