[LITMUS^RT] Questions about the time measurement in ft_trace

Björn Brandenburg bbb at mpi-sws.org
Wed Jan 29 23:05:36 CET 2014


On 29 Jan 2014, at 22:14, Luo, Zheng <luozheng at wustl.edu> wrote:

> Thank you very much for the reply. I still some questions.
> 
> For the line like this:
> [ 2915923] RELEASE 4420/3 on CPU 6 2916423.27ms
> Why the 2915923 and the 2916423.27ms is different, and what is the meaning of them?

The best way to figure something like this out is to look at the source code.

In short, if I recall correctly, the timestamp in brackets is when the trace record was recorded, the other timestamp is when the release is going to occur.

> 
> All the time stamps are using:
> static inline lt_t litmus_clock(void)
> {
>     return ktime_to_ns(ktime_get());
> }
> I have two questions:
> 1. Should we use the ktime_get() to get the time? Because it is a kernel function call, it takes longer time than just read the RDTSC value. Why use a kernel space function call instead of a user space function all? I am not sure about that, so I have this question.

All tracing occurs in the kernel. The scheduler is implemented in the kernel.

> 2. Also, is there any reference to show that how you measure the overhead of the scheduling?

Yes. It’s discussed in Sections 3.4, 3.5, and 4.3 in my dissertation. Sections 3.4 and 3.5 explain what is measured (and why), and 4.3 explains how it is measured.

	http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf

However, the statistical outlier filtering discussed there is no longer necessary due to improvements in the detection of disturbed samples. More details here:

	https://www.mpi-sws.org/~bbb/papers/pdf/rtas13.pdf

Best regards,
Björn





More information about the litmus-dev mailing list