Hello,
In kernel\current\src\sched\mlqueue.cxx, several calls are made to
CYG_INSTRUMENT_MLQ().
In kernel\current\include\instrmnt.h, this call is either defined as
nothing or as an actual instrumentation instruction, based on the
setting of CYGDBG_KERNEL_INSTRUMENT_MLQ.
However, this setting can not be modified in ecos.ecc because the
cdl_option is missing in kernel\current\cdl\instrument.cdl
This patch fixes this:
--- packages/kernel/current/cdl/instrument.cdl Mon Sep 28 17:50:00 2009
+++ packages/kernel/current/cdl/instrument.cdl Mon Sep 28 17:50:00 2009
@@ -246,6 +246,19 @@
the code related to SMP operations."
}
+cdl_option CYGDBG_KERNEL_INSTRUMENT_MLQ {
+ display "Instrument the Multi-level Queue scheduler"
+ default_value 1
+ active_if CYGSEM_KERNEL_SCHED_MLQUEUE
+ description "
+ It is possible to perform selective instrumentation at
+ run-time. It is also possible to disable instrumentation
+ in various kernel components at compile-time, thus
+ reducing the code size overheads. This option controls
+ whether or not instrumentation support is compiled into
+ the code for the Multi-level Queue scheduler."
+}
+
cdl_option CYGDBG_KERNEL_INSTRUMENT_USER {
display "Support application-level instrumentation"
default_value 1