Re: [RFC PATCH v7 4/5] tracing: Measure delayed hrtimer offset latency

From: Thomas Gleixner
Date: Thu Sep 22 2016 - 13:30:38 EST


Binoy,

On Thu, 22 Sep 2016, Binoy Jayan wrote:
> The condition 'ktime_to_ns(tim) < ktime_to_ns(now)' checks if the timer
> has already expired w.r.t. 'soft timeout' value as it does not include
> the slack value 'delta_ns'. In that case 'tim_expiry' is normalized to
> the current time.

You are halfways coming close to the point why this is done, but your
conclusion is completely wrong. The correct keyword is "expired", but
anything else is just random speculation.

> (I was under the impression that this inaccuracy
> could be because timer was initially running on a different cpu. If that
> is not the case, I guess we can use the code mentioned below).

We are not playing a guessing game here.

> I am using 'hrtimer_get_softexpires_tv64' instead of 'hrtimer_get_expires'
> so that 'latency' is never negative. Please let me know if this looks ok.

No it does not. And it won't look correct until you finally sit down and
decode and understand the functionality behind this code.

I'm not going to continue this, as it's not my job to explain you the code
which you are trying to submit.

I'm not blaming you, but I blame the responsible persons inside your
company who task you with that and expect that I'm going to do their work
of explaining to you how that code works.

@Arnd, @Mark: I'm starting to get seriously grumpy about that.

Thanks,

tglx