On Monday 08 December 2008 02:44:00 Avi Kivity wrote: > Avi Kivity wrote: > > Rusty Russell wrote: > >> We're getting rid on on-stack cpumasks for large NR_CPUS. > >> > >> 1) Use cpumask_var_t and alloc_cpumask_var (a noop normally). Fallback > >> code is inefficient but never happens in practice. > > > > Wow, code duplication from Rusty. Things must be bad. > > > > Since we're in a get_cpu() here, how about a per_cpu static cpumask > > instead? I don't mind the inefficient fallback, just the duplication. > > > > Btw, for the general case, instead of forcing everyone to duplicate, how > about: > > cpumask_var_t cpus; > > with_cpumask(cpus) { > ... code to populate cpus > smp_call_function_some(...); > } end_with_cpumask(cpus); > > Where with_cpumask() allocates cpus, and uses a mutex + static fallback > on failure.
I'd prefer not to hide deadlocks that way :( I'll re-battle with that code to neaten it. There are only a few places which have these kind of issues. Thanks, Rusty. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html