Add new event priority for trace enable events so

that tracing gets turned on as the very first thing
in the selected cycle (tick).

--HG--
extra : convert_revision : c08f749ca42782af1b48e5aa5f0860bf7076bd3c
This commit is contained in:
Steve Reinhardt 2006-10-19 10:21:23 -07:00
parent 75ecd3be60
commit e78684fc6c

View file

@ -120,10 +120,22 @@ class Event : public Serializable, public FastAlloc
/// priority; these values are used to control events that need to /// priority; these values are used to control events that need to
/// be ordered within a cycle. /// be ordered within a cycle.
enum Priority { enum Priority {
/// Breakpoints should happen before anything else, so we /// If we enable tracing on a particular cycle, do that as the
/// don't miss any action when debugging. /// very first thing so we don't miss any of the events on
/// that cycle (even if we enter the debugger).
Trace_Enable_Pri = -101,
/// Breakpoints should happen before anything else (except
/// enabling trace output), so we don't miss any action when
/// debugging.
Debug_Break_Pri = -100, Debug_Break_Pri = -100,
/// CPU switches schedule the new CPU's tick event for the
/// same cycle (after unscheduling the old CPU's tick event).
/// The switch needs to come before any tick events to make
/// sure we don't tick both CPUs in the same cycle.
CPU_Switch_Pri = -31,
/// For some reason "delayed" inter-cluster writebacks are /// For some reason "delayed" inter-cluster writebacks are
/// scheduled before regular writebacks (which have default /// scheduled before regular writebacks (which have default
/// priority). Steve? /// priority). Steve?
@ -132,12 +144,6 @@ class Event : public Serializable, public FastAlloc
/// Default is zero for historical reasons. /// Default is zero for historical reasons.
Default_Pri = 0, Default_Pri = 0,
/// CPU switches schedule the new CPU's tick event for the
/// same cycle (after unscheduling the old CPU's tick event).
/// The switch needs to come before any tick events to make
/// sure we don't tick both CPUs in the same cycle.
CPU_Switch_Pri = -31,
/// Serailization needs to occur before tick events also, so /// Serailization needs to occur before tick events also, so
/// that a serialize/unserialize is identical to an on-line /// that a serialize/unserialize is identical to an on-line
/// CPU switch. /// CPU switch.