Warner Losh <[email protected]> writes:

> OK. I've updated bsd-user fork from last year to yesterday. I had one 
> question.
>
> I see that we've gone from tb_flush() to queue_tb_flush(). Why was that? And 
> is it a drop in?
> FreeBSD's fork has this in the thread creation:
>
>     /*
>      * If this is our first additional thread, we need to ensure we
>      * generate code for parallel execution and flush old translations.
>      * Do this now so that the copy gets CF_PARALLEL too.
>      */
>     if (!(cpu->tcg_cflags & CF_PARALLEL)) {
>         cpu->tcg_cflags |= CF_PARALLEL;
>         tb_flush(cpu);
>     }
>
> I think the right thing to do is to just change this to queue_tb_flush(cpu), 
> and that compiles. I'd like to get some confirmation, though.
> Did I parse the changes right?

Yes, because ultimately we use safe work which:

 * Schedules the function @func for execution on the vCPU @cpu asynchronously,
 * while all other vCPUs are sleeping.

>
> Everything else is mundane changes that were more annoying than difficult :)
>
> Warner

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to