Re: loaded router, excessive getnstimeofday in oprofile

Eric Dumazet
2008-08-27T17:27:27Z

Andi Kleen a écrit :
> On Wed, Aug 27, 2008 at 09:49:10AM -0700, Rick Jones wrote:
>> Andi Kleen wrote:
>>>> Those banks really want to crank down on latency - to the point they
>>>> start disabling interrupt coalescing. I bet they'd toss anything out
>>>> they could to shave another microsecond.
>>>
>>> This change would actually likely lower their latency.
>> I'm guessing you mean increase their latency? I agree, it could -
>> depends entirely on the PPS in production I suspect.
>
> No, moving the time stamps into the socket decreases latency
> for all packets that don't need time stamps. And they likely
> have some packets which don't need time stamps too.
>
> As a secondary effect if they use a RT kernel it might
> be also beneficial to do the (depending on the platform)
> costly time stamp in the lower priority socket context
> than in the high priority interrupt thread.
>

Doing the expensive timestamping in a possibly delayed thread (ie some milliseconds
after hardware notification) is wrong/useless.

Better use plain xtime instead of getnstimeofday() in this case.

We could provide a sysctl setting so that admin can chose between precise timestamps
(current behavior) or fast but low resolution timestamping (xtime based)