Messages in this thread | | | Date | Thu, 12 Feb 2009 09:22:07 +0100 | From | Ingo Molnar <> | Subject | Re: [patch] rt: fix ipi kfree(), introduce IPI_SOFTIRQ |
| |
* Ingo Molnar <mingo@elte.hu> wrote:
> ------------------> > Subject: rt: fix ipi kfree(), introduce IPI_SOFTIRQ > From: Ingo Molnar <mingo@elte.hu> > 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
| |