On Tue, May 26, 2026 at 1:53 AM Philippe Mathieu-Daudé <[email protected]> wrote:
> On 24/5/26 18:57, Warner Losh wrote: > > On Sun, Feb 1, 2026 at 7:54 AM Alex Bennée <[email protected]> > wrote: > > > >> 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. > >> > > > > So I've done this in the latest blitz branch. I encountered one gotcha. I > > replaced it in the one place, but that didn't work too well. I finally > > tracked down the issue: I had implemented the change in only one place > > instead of the three required locations. I also had to bring the > > begin_parallel_context() function over from linux-user. I like > > user-internal.h that's in linux user. What is your touchstone for > deciding > > where that code belongs in it? I'd like to do the same in bsd-user once > my > > upstream focus shift to refinement of blitz and maybe my next cool thing > > there. > > All common code should go under common-user/ and include/user/. > Great! I look forward to growing this directory.. But I was trying to ask a slightly different question: What belongs in user-internal.h? What's the current rubric for linux-user in that regard? Warner
