1. 10 9月, 2010 4 次提交
    • S
      trace: Trace virtio-blk, multiwrite, and paio_submit · 6d519a5f
      Stefan Hajnoczi 提交于
      This patch adds trace events that make it possible to observe
      virtio-blk.
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      6d519a5f
    • S
      trace: Trace qemu_malloc() and qemu_vmalloc() · cd245a19
      Stefan Hajnoczi 提交于
      It is often useful to instrument memory management functions in order to
      find leaks or performance problems.  This patch adds trace events for
      the memory allocation primitives.
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      cd245a19
    • S
      trace: Support disabled events in trace-events · 1e2cf2bc
      Stefan Hajnoczi 提交于
      Sometimes it is useful to disable a trace event.  Removing the event
      from trace-events is not enough since source code will call the
      trace_*() function for the event.
      
      This patch makes it easy to build without specific trace events by
      marking them disabled in trace-events:
      
      disable multiwrite_cb(void *mcb, int ret) "mcb %p ret %d"
      
      This builds without the multiwrite_cb trace event.
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      
      trace: Allow bulk enabling/disabling of trace events at compile time
      
      For 'simple' trace backend, allow bulk enabling/disabling of trace
      events at compile time.  Trace events that are preceded by 'disable'
      keyword are compiled in, but turned off by default. These can
      individually be turned on using the monitor.  All other trace events are
      enabled by default.
      
      TODO :
      This could be enhanced when the trace-event namespace is partitioned into a
      group and an ID within that group. In such a case, marking a group as enabled
      would automatically enable all trace-events listed under it.
      Signed-off-by: NPrerna Saxena <prerna@linux.vnet.ibm.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      1e2cf2bc
    • S
      trace: Add trace-events file for declaring trace events · 94a420b1
      Stefan Hajnoczi 提交于
      This patch introduces the trace-events file where trace events can be
      declared like so:
      
      qemu_malloc(size_t size) "size %zu"
      qemu_free(void *ptr) "ptr %p"
      
      These trace event declarations are processed by a new tool called
      tracetool to generate code for the trace events.  Trace event
      declarations are independent of the backend tracing system (LTTng User
      Space Tracing, ftrace markers, DTrace).
      
      The default "nop" backend generates empty trace event functions.
      Therefore trace events are disabled by default.
      
      The trace-events file serves two purposes:
      
      1. Adding trace events is easy.  It is not necessary to understand the
         details of a backend tracing system.  The trace-events file is a
         single location where trace events can be declared without code
         duplication.
      
      2. QEMU is not tightly coupled to one particular backend tracing system.
         In order to support tracing across QEMU host platforms and to
         anticipate new backend tracing systems that are currently maturing,
         it is important to be flexible and not tied to one system.
      
      This commit includes fixes from Prerna Saxena
      <prerna@linux.vnet.ibm.com> and Blue Swirl <blauwirbel@gmail.com>.
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      94a420b1