On 25/10/2015 14:57, Peter Maydell wrote:
> > Opinions?  I would like to have this in 2.5 if there is agreement.
>
> Have you done any performance testing to check that we don't have
> previously-nopped-out tracepoints in hot paths that now result in
> real code being generated?

There definitely are tracepoints in hot paths, depending on what your
workload here.  Each I/O operation should trigger up to 3 tracepoints in
the block layer if I counted them right (thread_pool_submit,
thread_pool_complete, bdrv_aio_*), plus possibly some SCSI and virtqueue
tracepoints.

I haven't checked whether their cost (e.g. in terms of cache misses) has
an impact on performance.  The obvious first optimization would be to
optimize the case of no tracepoints enabled at all, changing each if
(tracepoint_enabled[index]) to "unlikely(tracepoint_enabled_any) &&
tracepoint_enabled[index]".

All other patches of course are independent.  I put 8 and 9 last because
they are a bit more controversial.

Paolo

Reply via email to