| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Also add some compile-time checks to detect unexpected offsets.
|
|
|
|
|
| |
Reassing locking timestamps and prepare support for tracing
system call overheads.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This is useful for measuring locking-related overheads
that are partially recorded in userspace.
|
| |
|
|
|
|
| |
MAX_ORDER is 11, but this is about number of records, not number of pages.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Setting FT_TASK_TRACE_MAJOR, LOG_MAJOR, FT_TRACE_MAJOR to 0
allows to have them automatically assigned by the kernel
|
|
- fix requesting more than 2^11 pages (MAX_ORDER)
to system allocator
Still to be merged:
- feather-trace generic implementation
|