Hi, > >> However, please correct me if I'm wrong, I understand that an accelerator > >> as a > >> module will add an overhead that some user won't be willing to pay. So, > >> give > >> them the option to have built-in accelerators seems a good idea. > > > > Modules add some overhead, yes, and there are surely use-cases where you > > Where do we expect the overhead to be, and of which nature?
The dynamic linking needed then when loading the module adds a bit of overhead (compared to static linked code). Increases qemu start time a bit. On the other hand the start overhead can be reduced by modules, specifically for the case that a module depends on shared libraries and is *not* needed. With for example gtk being modular the gtk shared libraries (plus indirect dependencies like pango, cairo etc) are only loaded when you actually use gtk, whereas a non-modular build would load them no matter what. The code reorganization needed for modularization can add some overhead too, when using function pointers instead of direct calls for example (see QemuSpiceOps). That overhead doesn't go away when you do a non-modular build though ... take care, Gerd