[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.8 v1 00/60] Modular build of trace event f
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH for-2.8 v1 00/60] Modular build of trace event files |
Date: |
Thu, 8 Sep 2016 14:43:05 +0100 |
User-agent: |
Mutt/1.7.0 (2016-08-17) |
On Thu, Sep 08, 2016 at 03:23:26PM +0200, Lluís Vilanova wrote:
> Daniel P Berrange writes:
>
> > I previously split the global trace-events file up into one file
> > per-subdirectory to avoid merge conflict hell.
> [...]
>
> Sorry, I could not find the message where the infrastructure is modified to
> provide this. But I think there's a more efficient way to provide modular
> auto-generated tracing code without the hierarchical indexing you proposed.
[snip]
> struct TraceEvent ___trace_events[] = {
> {
> .name = "eventname",
> .sstate = 1,
> .dstate = ___trace_eventname_dstate;
> }
> }
>
> TraceEvent *TRACE_EVENTNAME = &___trace_events[...];
Life would be simpler if we had the 'bool dstate' as part of the
TraceEvent struct, but doing so would essentially be reverting this
previous change:
commit 585ec7273e6fdab902b2128bc6c2a8136aafef04
Author: Paolo Bonzini <address@hidden>
Date: Wed Oct 28 07:06:27 2015 +0100
trace: track enabled events in a separate array
This is more cache friendly on the fast path, where we already have
the event id available.
I asked Paolo about this previously and he indicated it was a notable
performance improvement, so we can't put dstate back into the TraceEvent
struct :-(
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
Re: [Qemu-devel] [PATCH for-2.8 v1 00/60] Modular build of trace event files, Daniel P. Berrange, 2016/09/13