aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/trace.c
Commit message (Collapse)AuthorAge
* Feather-Trace: hide irq in SEND_RESCHED_ENDBjoern Brandenburg2012-10-18
| | | | | | | SEND_RESCHED_END is necessarily preceded by an interrupt. We don't want to filter events based on this expected interrupts, but we still want to detect samples disturbed by other interrupts. Hence, subtract one off the interrupt count.
* Make Feather-Trace timestamp collection non-preemptiveBjoern Brandenburg2012-10-18
| | | | | | | | | | | If the tracing code is interrupted / preempted inbetween the time that a sequence number is drawn and the time that the trace recorded is allocated, then the trace file will contain "out of order" events. These are difficult to detect during post-processing and can create artificial "outliers". This patch briefly disables local interrutps to avoid this. While at it, de-duplicate the timestamp recording code.
* Use user-provided irq count for TS_SYSCALL_IN_ENDBjoern Brandenburg2012-10-18
| | | | | | To detect interrupts that interfered after the initial time stamp was recorded, this patch changes sched_trace to also record the IRQ count as observed by userspace.
* Export IRQ count to control pageBjoern Brandenburg2012-10-18
| | | | Also add some compile-time checks to detect unexpected offsets.
* Feather-Trace: update locking timestampsBjoern Brandenburg2012-10-18
| | | | | Reassing locking timestamps and prepare support for tracing system call overheads.
* Feather-Trace: keep track of PID in trace recordBjoern Brandenburg2012-10-18
| | | | | | | | To properly trace locking overheads, it is required to tell apart samples from different tasks, which requires keeping track of their PIDs. The timestamp is shortened to 48 bits to make room for the PID.
* Feather-Trace: keep track of interrupt-related interference.Bjoern B. Brandenburg2012-01-30
| | | | | | | Increment a processor-local counter whenever an interrupt is handled. This allows Feather-Trace to include a (truncated) counter and a flag to report interference from interrupts. This could be used to filter samples that were disturbed by interrupts.
* Feather-trace: let userspace add overhead eventsBjoern B. Brandenburg2011-11-24
| | | | | This is useful for measuring locking-related overheads that are partially recorded in userspace.
* Feather-Trace: keep track of release latencyBjoern B. Brandenburg2011-11-24
|
* Feather-Trace: start with the largest permissible rangeBjoern B. Brandenburg2011-11-24
| | | | MAX_ORDER is 11, but this is about number of records, not number of pages.
* Feather-Trace: dynamic memory allocation and clean exitChristopher Kenna2011-01-12
| | | | | | This patch changes Feather-Trace to allocate memory for the minor devices dynamically, which addresses a long-standing FIXME. It also provides clean module exit and error conditions for Feather-Trace.
* Feather-Trace: register devices with sysfsChristopher Kenna2011-01-12
| | | | | | | | | | This patch implements support for Feather-Trace devices to use the sysfs file system and, consequently, udev support. This allows us to allocate major/minor numbers for Feather-Trace devices dynamically, which is desirable because our old static allocations tend to create conflicts on modern distributions and/or when there are many cores.
* Split out TRACE() from litmus.h and cleanup some includesBjoern B. Brandenburg2010-11-11
| | | | | | | | | | The TRACE() functionality doesn't need all of litmus.h. Currently, it's impossible to use TRACE() in sched.h due to a circular dependency. This patch moves TRACE() and friends to litmus/sched_debug.h, which can be included in sched.h. While at it, also fix some minor include ugliness that was revealed by this change.
* Add optional dynamic assignment of tracing devices major nrAndrea Bastoni2010-05-29
| | | | | Setting FT_TASK_TRACE_MAJOR, LOG_MAJOR, FT_TRACE_MAJOR to 0 allows to have them automatically assigned by the kernel
* [ported from 2008.3] Add tracing support and hook up Litmus KConfig for x86Andrea Bastoni2010-05-29
- fix requesting more than 2^11 pages (MAX_ORDER) to system allocator Still to be merged: - feather-trace generic implementation