From: David Miller <davem@davemloft.net>
Date: Sat, 09 May 2009 13:34:54 -0700 (PDT)
Consider the case where we always send some message on CPU A and
then process the ACK on CPU B. We'll always be cancelling the
timer on a foreign cpu.
I should also mention that TCP has a peculiar optimization of timers
that is likely being thwarted by your workload. It never deletes
timers under normal operation, it simply lets them still expire
and the handler notices that there is "nothing to do" and returns.
But when the connection does shut down, we have to purge all of
these timers.
That could be another part of why you see timers in your profile.