[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 00/47] Switch all subdirs over to modular trace.h
From: |
Daniel P. Berrange |
Subject: |
[Qemu-devel] [PATCH v2 00/47] Switch all subdirs over to modular trace.h file |
Date: |
Fri, 6 Jan 2017 15:54:56 +0000 |
This is the final part of my trace events refactoring.
Previously we merged code that split trace-events up
into one file per sub-directory. We also merged code
to the code-generator that enables us to generate
and use multiple independant sets of trace events.
This is the final glue that makes use of these two
earlier changes, so that we actually generate a
separate trace.h & trace.c file per sub-directory.
The result is that when adding a new trace event to
a file, only files in that sub-directory get rebuilt.
Theoretically the build is faster too, since each
source file includes a much smaller trace.h that
only contains probes relevant to it. In reality this
speed benefit is probably marginal & lost in the noise.
The first patch introduces the new Makefile rules to
handle modular building.
The next 43 patches convert over each sub-directory.
They are totally boring and repetative. The only
exception is the patch for target/s390x which hit
a bit of makefile pain, explained in its commit msg.
The 45th patch removes the old, now unused, Makefile
rules for non-modular trace building.
The 46th patch documents the new approach
The final patch is just a small tweak to error
reporting, unrelated to the refactoring.
Daniel P. Berrange (47):
trace: introduce some Makefile rules for module code gen
trace: switch io/ directory to modular trace.h file
trace: switch util/ directory to modular trace.h file
trace: switch crypto/ directory to modular trace.h file
trace: switch migration/ directory to modular trace.h file
trace: switch block/ directory to modular trace.h file
trace: switch hw/block/ directory to modular trace.h file
trace: switch hw/char/ directory to modular trace.h file
trace: switch hw/intc/ directory to modular trace.h file
trace: switch hw/net/ directory to modular trace.h file
trace: switch hw/virtio/ directory to modular trace.h file
trace: switch hw/audio/ directory to modular trace.h file
trace: switch hw/misc/ directory to modular trace.h file
trace: switch hw/usb/ directory to modular trace.h file
trace: switch hw/scsi/ directory to modular trace.h file
trace: switch hw/nvram/ directory to modular trace.h file
trace: switch hw/display/ directory to modular trace.h file
trace: switch hw/input/ directory to modular trace.h file
trace: switch hw/timer/ directory to modular trace.h file
trace: switch hw/dma/ directory to modular trace.h file
trace: switch hw/sparc/ directory to modular trace.h file
trace: switch hw/sd/ directory to modular trace.h file
trace: switch hw/isa/ directory to modular trace.h file
trace: switch hw/mem/ directory to modular trace.h file
trace: switch hw/i386/ directory to modular trace.h file
trace: switch hw/9pfs/ directory to modular trace.h file
trace: switch hw/ppc/ directory to modular trace.h file
trace: switch hw/pci/ directory to modular trace.h file
trace: switch hw/s390x/ directory to modular trace.h file
trace: switch hw/vfio/ directory to modular trace.h file
trace: switch hw/acpi/ directory to modular trace.h file
trace: switch hw/arm/ directory to modular trace.h file
trace: switch hw/alpha/ directory to modular trace.h file
trace: switch ui/ directory to modular trace.h file
trace: switch audio/ directory to modular trace.h file
trace: switch net/ directory to modular trace.h file
trace: switch target/arm/ directory to modular trace.h file
trace: switch target/i386/ directory to modular trace.h file
trace: switch target/sparc/ directory to modular trace.h file
trace: switch target/s390x/ directory to modular trace.h file
trace: switch target/ppc/ directory to modular trace.h file
trace: switch qom/ directory to modular trace.h file
trace: switch linux-user/ directory to modular trace.h file
trace: switch qapi/ directory to modular trace.h file
trace: remove the global include/trace.h file
trace: update docs to reflect new code generation approach
trace: improve error reporting when parsing simpletrace header
.gitignore | 14 ++--
Makefile | 117 ++++++++++++++++++++++++++-----
Makefile.objs | 95 +++++++++++++------------
Makefile.target | 30 +++++++-
audio/Makefile.objs | 2 +
audio/alsaaudio.c | 2 +-
audio/ossaudio.c | 2 +-
block.c | 2 +-
block/Makefile.objs | 2 +
block/backup.c | 2 +-
block/block-backend.c | 2 +-
block/commit.c | 2 +-
block/dirty-bitmap.c | 2 +-
block/io.c | 2 +-
block/mirror.c | 2 +-
block/nfs.c | 2 +-
block/qcow2-cache.c | 2 +-
block/qcow2-cluster.c | 2 +-
block/qcow2.c | 2 +-
block/qed-l2-cache.c | 2 +-
block/qed-table.c | 2 +-
block/qed.c | 2 +-
block/raw-posix.c | 2 +-
block/raw-win32.c | 2 +-
block/stream.c | 2 +-
blockdev.c | 2 +-
crypto/Makefile.objs | 2 +
crypto/secret.c | 2 +-
crypto/tlscreds.c | 2 +-
crypto/tlscredsanon.c | 2 +-
crypto/tlscredsx509.c | 2 +-
crypto/tlssession.c | 2 +-
docs/tracing.txt | 61 +++++++++++++---
hw/9pfs/9p.c | 2 +-
hw/9pfs/Makefile.objs | 2 +
hw/acpi/Makefile.objs | 2 +
hw/acpi/cpu.c | 2 +-
hw/acpi/memory_hotplug.c | 2 +-
hw/alpha/Makefile.objs | 2 +
hw/alpha/pci.c | 2 +-
hw/arm/Makefile.objs | 2 +
hw/arm/virt-acpi-build.c | 2 +-
hw/audio/Makefile.objs | 3 +
hw/audio/cs4231.c | 2 +-
hw/audio/milkymist-ac97.c | 2 +-
hw/block/Makefile.objs | 2 +
hw/block/dataplane/virtio-blk.c | 2 +-
hw/block/hd-geometry.c | 2 +-
hw/block/virtio-blk.c | 2 +-
hw/char/Makefile.objs | 2 +
hw/char/escc.c | 2 +-
hw/char/grlib_apbuart.c | 2 +-
hw/char/lm32_juart.c | 2 +-
hw/char/lm32_uart.c | 2 +-
hw/char/milkymist-uart.c | 2 +-
hw/char/virtio-console.c | 2 +-
hw/char/virtio-serial-bus.c | 2 +-
hw/display/Makefile.objs | 3 +
hw/display/g364fb.c | 2 +-
hw/display/jazz_led.c | 2 +-
hw/display/milkymist-tmu2.c | 2 +-
hw/display/milkymist-vgafb.c | 2 +-
hw/display/qxl-render.c | 2 +-
hw/display/qxl.c | 2 +-
hw/display/vga.c | 2 +-
hw/display/virtio-gpu-3d.c | 2 +-
hw/display/virtio-gpu.c | 2 +-
hw/display/vmware_vga.c | 2 +-
hw/display/xenfb.c | 2 +-
hw/dma/Makefile.objs | 2 +
hw/dma/i8257.c | 2 +-
hw/dma/rc4030.c | 2 +-
hw/dma/sparc32_dma.c | 2 +-
hw/dma/sun4m_iommu.c | 2 +-
hw/i386/Makefile.objs | 2 +
hw/i386/x86-iommu.c | 2 +-
hw/i386/xen/xen_platform.c | 1 +
hw/i386/xen/xen_pvdevice.c | 1 +
hw/input/Makefile.objs | 3 +
hw/input/hid.c | 2 +-
hw/input/milkymist-softusb.c | 2 +-
hw/input/ps2.c | 2 +-
hw/input/virtio-input.c | 2 +-
hw/intc/Makefile.objs | 2 +
hw/intc/apic.c | 2 +-
hw/intc/apic_common.c | 2 +-
hw/intc/arm_gic.c | 2 +-
hw/intc/arm_gicv3_cpuif.c | 2 +-
hw/intc/arm_gicv3_dist.c | 2 +-
hw/intc/arm_gicv3_redist.c | 2 +-
hw/intc/aspeed_vic.c | 2 +-
hw/intc/grlib_irqmp.c | 2 +-
hw/intc/lm32_pic.c | 2 +-
hw/intc/s390_flic.c | 2 +-
hw/intc/s390_flic_kvm.c | 2 +-
hw/intc/slavio_intctl.c | 2 +-
hw/intc/xics.c | 2 +-
hw/intc/xics_kvm.c | 2 +-
hw/intc/xics_spapr.c | 2 +-
hw/isa/Makefile.objs | 2 +
hw/isa/pc87312.c | 2 +-
hw/mem/Makefile.objs | 3 +
hw/mem/pc-dimm.c | 2 +-
hw/misc/Makefile.objs | 3 +
hw/misc/aspeed_scu.c | 2 +-
hw/misc/eccmemctl.c | 2 +-
hw/misc/milkymist-hpdmc.c | 2 +-
hw/misc/milkymist-pfpu.c | 2 +-
hw/misc/slavio_misc.c | 2 +-
hw/net/Makefile.objs | 3 +
hw/net/e1000e.c | 2 +-
hw/net/e1000e_core.c | 2 +-
hw/net/e1000x_common.c | 2 +-
hw/net/lance.c | 2 +-
hw/net/milkymist-minimac2.c | 2 +-
hw/net/mipsnet.c | 2 +-
hw/net/net_rx_pkt.c | 2 +-
hw/net/opencores_eth.c | 2 +-
hw/net/pcnet-pci.c | 2 +-
hw/net/pcnet.c | 2 +-
hw/nvram/Makefile.objs | 2 +
hw/nvram/ds1225y.c | 2 +-
hw/nvram/fw_cfg.c | 2 +-
hw/pci/Makefile.objs | 2 +
hw/pci/pci.c | 2 +-
hw/pci/pci_host.c | 2 +-
hw/ppc/Makefile.objs | 3 +
hw/ppc/ppc.c | 2 +-
hw/ppc/prep.c | 2 +-
hw/ppc/spapr.c | 2 +-
hw/ppc/spapr_hcall.c | 2 +-
hw/ppc/spapr_iommu.c | 2 +-
hw/ppc/spapr_pci.c | 2 +-
hw/ppc/spapr_rtas_ddw.c | 2 +-
hw/s390x/Makefile.objs | 3 +
hw/s390x/css.c | 2 +-
hw/s390x/virtio-ccw.c | 2 +-
hw/scsi/Makefile.objs | 3 +
hw/scsi/esp-pci.c | 2 +-
hw/scsi/esp.c | 2 +-
hw/scsi/megasas.c | 2 +-
hw/scsi/mptconfig.c | 2 +-
hw/scsi/mptendian.c | 2 +-
hw/scsi/mptsas.c | 2 +-
hw/scsi/scsi-bus.c | 2 +-
hw/scsi/vmw_pvscsi.c | 2 +-
hw/sd/Makefile.objs | 2 +
hw/sd/milkymist-memcard.c | 2 +-
hw/sparc/Makefile.objs | 2 +
hw/sparc/leon3.c | 2 +-
hw/sparc/sun4m.c | 2 +-
hw/timer/Makefile.objs | 2 +
hw/timer/aspeed_timer.c | 2 +-
hw/timer/grlib_gptimer.c | 2 +-
hw/timer/lm32_timer.c | 2 +-
hw/timer/milkymist-sysctl.c | 2 +-
hw/timer/slavio_timer.c | 2 +-
hw/usb/Makefile.objs | 3 +
hw/usb/bus.c | 2 +-
hw/usb/combined-packet.c | 2 +-
hw/usb/core.c | 2 +-
hw/usb/desc.c | 2 +-
hw/usb/dev-hub.c | 2 +-
hw/usb/dev-mtp.c | 2 +-
hw/usb/dev-uas.c | 2 +-
hw/usb/hcd-ehci.c | 2 +-
hw/usb/hcd-ohci.c | 2 +-
hw/usb/hcd-uhci.c | 2 +-
hw/usb/hcd-xhci.c | 2 +-
hw/usb/host-libusb.c | 2 +-
hw/vfio/Makefile.objs | 2 +
hw/vfio/common.c | 2 +-
hw/vfio/pci-quirks.c | 2 +-
hw/vfio/pci.c | 2 +-
hw/vfio/platform.c | 2 +-
hw/vfio/spapr.c | 2 +-
hw/virtio/Makefile.objs | 2 +
hw/virtio/virtio-balloon.c | 2 +-
hw/virtio/virtio-rng.c | 2 +-
hw/virtio/virtio.c | 2 +-
include/trace.h | 6 --
io/Makefile.objs | 2 +
io/channel-buffer.c | 2 +-
io/channel-command.c | 2 +-
io/channel-file.c | 2 +-
io/channel-socket.c | 2 +-
io/channel-tls.c | 2 +-
io/channel-websock.c | 2 +-
io/task.c | 2 +-
linux-user/Makefile.objs | 2 +
linux-user/signal.c | 2 +-
migration/Makefile.objs | 2 +
migration/exec.c | 2 +-
migration/fd.c | 2 +-
migration/migration.c | 2 +-
migration/postcopy-ram.c | 2 +-
migration/qemu-file.c | 2 +-
migration/ram.c | 2 +-
migration/rdma.c | 2 +-
migration/savevm.c | 2 +-
migration/socket.c | 2 +-
migration/tls.c | 2 +-
migration/vmstate.c | 2 +-
net/Makefile.objs | 2 +
net/filter-mirror.c | 2 +-
net/vhost-user.c | 2 +-
qapi/Makefile.objs | 2 +
qapi/qapi-visit-core.c | 2 +-
qom/Makefile.objs | 2 +
qom/object.c | 2 +-
qom/trace-events | 7 ++
scripts/simpletrace.py | 10 ++-
scripts/tracetool/backend/dtrace.py | 2 +-
scripts/tracetool/backend/ust.py | 2 +-
scripts/tracetool/format/ust_events_c.py | 2 +-
scripts/tracetool/format/ust_events_h.py | 7 +-
target/arm/Makefile.objs | 2 +
target/arm/helper.c | 2 +-
target/i386/Makefile.objs | 2 +
target/i386/kvm.c | 2 +-
target/ppc/Makefile.objs | 2 +
target/ppc/kvm.c | 2 +-
target/s390x/Makefile.objs | 21 +-----
target/s390x/cpu.c | 2 +-
target/s390x/ioinst.c | 2 +-
target/s390x/kvm.c | 2 +-
target/s390x/mmu_helper.c | 2 +-
target/sparc/Makefile.objs | 2 +
target/sparc/int32_helper.c | 2 +-
target/sparc/int64_helper.c | 2 +-
target/sparc/mmu_helper.c | 2 +-
target/sparc/win_helper.c | 2 +-
tests/Makefile.include | 2 +-
trace-events | 6 --
trace/Makefile.objs | 81 +--------------------
ui/Makefile.objs | 3 +
ui/console.c | 2 +-
ui/gtk-egl.c | 2 +-
ui/gtk-gl-area.c | 2 +-
ui/gtk.c | 2 +-
ui/input.c | 2 +-
ui/spice-display.c | 2 +-
ui/vnc.c | 2 +-
util/Makefile.objs | 2 +
util/buffer.c | 2 +-
util/hbitmap.c | 2 +-
util/oslib-posix.c | 2 +-
util/oslib-win32.c | 2 +-
util/qemu-coroutine-lock.c | 2 +-
util/qemu-coroutine.c | 2 +-
250 files changed, 552 insertions(+), 388 deletions(-)
delete mode 100644 include/trace.h
--
2.9.3
- [Qemu-devel] [PATCH v2 00/47] Switch all subdirs over to modular trace.h file,
Daniel P. Berrange <=
- [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file, Daniel P. Berrange, 2017/01/06
- Re: [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file, Stefan Hajnoczi, 2017/01/10
- Re: [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file, Daniel P. Berrange, 2017/01/10
- Re: [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file, Paolo Bonzini, 2017/01/10
- Re: [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file, Daniel P. Berrange, 2017/01/10
- Re: [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file, Paolo Bonzini, 2017/01/10
- Re: [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file, Daniel P. Berrange, 2017/01/11
- Re: [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file, Daniel P. Berrange, 2017/01/11
- Re: [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file, Paolo Bonzini, 2017/01/11
- Re: [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file, Eric Blake, 2017/01/10