Re: [PATCH 3/6]: Ignore trivial amounts of elapsed time

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Ian McDonald:
|  On 6/10/07, Gerrit Renker <gerrit@xxxxxxxxxxxxxx> wrote:
|  > [CCID3]: Ignore trivial amounts of elapsed time
|  >
|  > This patch fixes a previously undiscovered bug:
|  >
|  >  * the receive timestamp is taken when the skb enters the CCID3 module;
|  >  * RFC 4342 requires to send an Elapsed Time estimate to the sender;
|  >  * the bug is in computing the elapsed time as the time between `receiving'
|  >    the packet (i.e. skb enters CCID module) and sending feedback,
|  >      --> there is no layer-processing, queueing, or delay involved,
|  >      --> hence the elapsed time is in the order of 1 function call
|  >      --> this is in the dimension of maximally 50..100usec
|  >      --> which renders the use of elapsed time almost entirely useless.
|  >
|  > The fix is simply to ignore such trivial amounts of elapsed time.
|  >
|  What is the bug? Do you mean it is useless to do this? Or is there
|  another problem?
Yes I mean it is useless. The discussions with David Miller after the interface
timestamping patches have convinced me that RTT sample values of less than 500
microseconds are not worth the overhead. And if you remember, you said something
similar. And here I agree with you.

The above also agrees with observation - in logs the most frequent ELAPSED_TIME
I found was 1 = 1 * 10 microseconds, which makes sense with regard to the above.


|  
|  Reading RFC4340, 13.2 and thinking about pre-emptible kernels causes
|  me to ask this question - what happens if you lose the time slice you
|  are on in between the calls - then it would be much higher time
|  difference....
|  
The processing all happens in softirq context and the flow of function calls
is in the processing path of the handler. 
The only way I can see that we will get a delay is in the case when skb allocation
fails in dccp_send_ack. This is something to be considered, but this (memory allocation
failture) seems to be an exception-case, not a rule-case. Hence it is implicitly added
to the processing/RTT delay of the host. To me this seems right: if the host is struggling
to get memory for skbs, it doesn't seem `right' to indicate to the other side that
the elapsed time = time to find an unallocated skb is negligible.
Thoughts?
-
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [IETF DCCP]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux