[LITMUS^RT] Right size for scheduling trace buffer
Björn Brandenburg
bbb at mpi-sws.org
Thu Apr 18 17:53:33 CEST 2013
On Apr 18, 2013, at 5:33 PM, Youcef Amine Benabbas <s9yobena at stud.uni-saarland.de> wrote:
> I know that the size of the scheduling trace buffer is workload
> dependent, however, I am having problems getting the right size for my
> workload so as to avoid missing scheduling trace information.
>
> In particular, I chose the largest possible shift value (13), still, I
> am missing some traces.
>
> I am running experiments on a 24 core machine, with tasks whose
> utilization and period are randomly drawn from [0.1,0.3) and
> [10ms,100ms), respectively.
>
> Did any one try a workload/trace-buffer-configuration that is known to
> incur no scheduling trace misses(I know it is easy to get this correct
> for less than 4 cpus, but it would be interesting to get this correct
> for >16 cpus)?
sched_trace uses per-CPU buffers, so the total available buffer space scales with the number of CPUs. If trace records are missed, then the userspace process responsible for flushing the data to disk is starving for prolonged times. One way to fix this is to make sure userspace can catch up, either by giving the flushing tasks real-time priorities or by reserving one partition for the tracing tasks.
- Björn
More information about the litmus-dev
mailing list