lkml.org 
[lkml]   [2016]   [Jun]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V4] irq: Track the interrupt timings
On Tue, 14 Jun 2016, Daniel Lezcano wrote:

> On 06/10/2016 04:52 PM, Thomas Gleixner wrote:
>
> > > + timings->sum -= timings->values[timings->w_index];
> > > + timings->values[timings->w_index] = diff;
> > > + timings->sum += diff;
> >
> > Now the real question is whether you really need all that math, checks and
> > memsets in the irq hotpath. If you make the storage slightly larger then you
> > can just store the values unconditionally in the circular buffer and do all
> > the computational stuff when you really it.
>
> Yes, that was one concern when I wrote the code: do some basic computation
> when an interrupt occurs, and the rest after or do the entire math when
> entering idle.
>
> If the storage is a bit larger (let's say 16 values) and there is no memset
> and the sum is not computed, at least we need a count for the number of values
> in the array before this one is fulfilled, otherwise the statistics will be
> wrong as we will take into account the entire array with old values, no ?

The point is not to change from 8 to 16 entries, but to store raw 64-bit
timestamps instead of computed 32-bit deltas. Whether or not those
timestamps are too far apart and discarded can be done at idle entry
time.


Nicolas

\
 
 \ /
  Last update: 2016-06-14 17:41    [W:0.074 / U:0.148 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site