On Fri, 23 Jan 2026 12:13:43 +0200, Zhi Wang wrote: > Thanks so much for the work and the discussion. It is super important > efforts for me to move on for the vGPU work. :)
Great! > As we discussed, the concurrency matters most when booting multiple vGPUs. > At that time, the concurrency happens at: > > 1) Allocating GPU memory chunks > 2) Reserving GPU channels > 3) Mapping GPU memory to BAR1 page table Yes all these are already covered from a concurrency PoV by the v6. > I can see you are thinking of fine-granularity locking scheme, which I > think is the right direction to go. I agreed with the above two locks. Cool! > However for 3), We need to have one there as well beside the above two > locks. Have you already had one in the GPU VA allocator? Currently for mapping Bar pages, you need a mutable reference to BarUser. For the future, when we have multiple channels sharing the same va space, it will still be protected because the va space allocator (virt_buddy) already has internal locking. And for each map_page, it is protected as well. So I believe that should also be covered. Thanks for checking. > If yes, the above two locks should be good enough so far. IMO. Ok, thanks for checking. -- Joel Fernandes
