On 26/06/2015 16:47, fred.kon...@greensocs.com wrote:
> +    CPU_FOREACH(cpu) {
> +        if (qemu_cpu_is_self(cpu)) {
> +            /* async_run_on_cpu handle this case but this just avoid a malloc
> +             * here.
> +             */
> +            tlb_flush(cpu, flush_global);
> +        } else {
> +            params = g_malloc(sizeof(struct TLBFlushParams));
> +            params->cpu = cpu;
> +            params->flush_global = flush_global;
> +            async_run_on_cpu(cpu, tlb_flush_async_work, params);

Shouldn't this be synchronous (which you cannot do straightforwardly
because of deadlocks---hence the need to hook cpu_has_work as discussed
earlier)?

Paolo

> +        }
> +    }

Reply via email to