On 11/26/20 10:48 PM, Eduardo Habkost wrote: > On Thu, Nov 26, 2020 at 10:06:03PM +0100, Claudio Fontana wrote: >> On 11/26/20 3:25 PM, Paolo Bonzini wrote: >>> On 26/11/20 15:13, Claudio Fontana wrote: >>>> One option I see is simply to document the behavior where >>>> accel_available() is declared in accel.h (ie do not use in fast >>>> path), as well as in accel_find() actually, so that both accel_find() >>>> and accel_available() are avoided in fast path and avoid being called >>>> frequently at runtime. >>>> >>>> Another option could be to remove the allocation completely, and use >>>> for example accel_find(ACCEL_CLASS_NAME("tcg")), or another option >>>> again would be to remove the allocation and use either a fixed buffer >>>> + snprintf, or alloca -like builtin code to use the stack, ... >>>> >>>> Not a big deal, but with a general utility and short name like >>>> accel_available(name) it might be tempting to use this more in the >>>> future? >>> >>> I think it's just that the usecase is not that common. "Is this >>> accelerator compiled in the binary" is not something you need after >>> startup (or if querying the monitor). >>> >>> Paolo >>> >>> >> >> A script that repeatedly uses the QMP interface to query for >> the status could generate fragmentation this way I think. > > Is this a problem? Today, execution of a "query-kvm" command > calls g_malloc() 37 times. >
Not ideal in my view, but not the end of the world either. Ciao, Claudio