Messages in this thread | | | Date | Wed, 28 Jan 2009 16:23:32 -0500 (EST) | From | Steven Rostedt <> | Subject | Re: Buggy IPI and MTRR code on low memory |
| |
On Wed, 28 Jan 2009, Andrew Morton wrote:
> On Wed, 28 Jan 2009 13:12:02 -0800 > Andrew Morton <akpm@linux-foundation.org> wrote: > > > Thought: do we need to do the kmalloc at all? Perhaps we can instead > > use a statically allocated per-cpu call_single_data local to > > kernel/smp.c? It would need a spinlock or something to protect it... > > (not a spinlock - get_cpu_var/put_cpu_var will suffice)
Is that enough?
The calling IPIs may process the data after smp_call_function is made. What happens if two smp_call_functions are executed one after the other? The second one may corrupt the data if the IPI function has not executed yet.
We may still need that "RELEASE" flag for that case.
-- Steve
| |