On Fri, May 23, 2025 at 03:37:02PM +0000, Wei Liu wrote: > On Fri, May 23, 2025 at 10:23:58AM +0200, Magnus Kulke wrote: > > On Tue, May 20, 2025 at 07:07:06PM +0000, Wei Liu wrote: > > > On Tue, May 20, 2025 at 01:30:01PM +0200, Magnus Kulke wrote: > > > > Create the MSHV virtual machine by opening a partition and issuing > > > > the necessary ioctl to initialize it. This sets up the basic VM > > > > structure and initial configuration used by MSHV to manage guest state. > > > > > > > > Signed-off-by: Magnus Kulke <magnusku...@linux.microsoft.com> > > > > --- > > > [...] > I'm not talking about initialization specifically. I don't think QEMU > calls the initialization function of an accelerator multiple times. > > What I mean is that after this point, the fd is neither closed nor > tracked. There is no way to cleanly handle it other than waiting for the > process to exist. One fd may not seem a lot, but it takes up precise > space in the file descriptor table in the kernel and is counted against > the fd limit. > > My suggestion would be if this fd is no longer needed, it can be closed > in this same function. > > If it is needed throughout the life cycle of the VM, we put it in a > either a global variable or (better) the accelerator state structure. If > we do the latter, we should also close it when we deinitialize the > accelerator if we have such a phase. > > Thanks, > Wei. >
oh yes, that's right. we wouldn't use the mshv_fd anywhere else for the time being, so we can close it immediately after the create_vm ioctl.