DCCP protocol discussions
 help / color / mirror / Atom feed
* [Patch 0/12]:
@ 2006-12-07 21:12 Gerrit Renker
  2006-12-07 21:36 ` Ian McDonald
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Gerrit Renker @ 2006-12-07 21:12 UTC (permalink / raw)
  To: dccp

Here is the latest batch of updates for CCID3. I held it back for almost two
days, got bogged down by testing. 

As an experiment (not part of the patch set), I tried to set the tx timestamp not
in ccid3_hc_tx_packet_sent but in ccid3_hc_tx_send_packet. The result was that on SMP
computers I got several bug messages that "r_sample < 0" (in ccid3_hc_tx_packet_recv).

This is a hint that the mysteriously high RTT values have to do with the way the history
is updated.

I am almost fully convinced that it is necessary to armour the packet history list
operations with read/write locks. The reasons:

 * list manipulation is asynchronous, packet_sent/send_packet fill the list, while
   packet_recv purges

 * send_packet may sleep so that meanwhile new entries are put on top
 
 * after applying patch 9 I got, for the first time, accurate RTT values [patch 9
   puts all history work into packet_sent]

It would be good to have further opinions/ideas on this.


Here is now the overview:

Patch  1: completes the migration towards using scaled_div/scaled_div32, by
          updating the TFRC calculation also.

Patch  2: attempts to reduce CPU load by only delivering to the CCID module
          which is currently active, to avoid unnecessary processing.

Patch  3: warns when discarding a TX packet; also, EINTR is no longer a bug case.

Patch  4: reduces ccid3_hc_tx_insert_options, since currently all its operations are 
          redundant.

Patch  5: takes care that the RTT values are all initialised properly.

Patch  6: sanity-checks RTT values. Thanks Ian :-)

Patch  7: puts all window counter updating functionality into an extra routine.

Patch  8: Removes the unused dccphtx_ccval field - it is used nowhere and not needed.
          =>  Note: The same holds for the u32 field `dccphtx_rtt' - it is
                     also not needed by the code. Shall it also be removed ??? 

Patch  9: concentrates all history updating in packet_sent. I believe that this is 
          much cleaner and could already observe much shorter RTT values than usual.

Patch 10: clerical - unifies the output format of debugging messages (less confusing).

Patch 11: clerical - I had difficulties reading packet_history.h since rx/tx function
          declarations are intermingled. This just reorders them to appear separate and
          following the same order of declarations.

Patch 12: clerical - does the same as patch 11, but for the source file.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-12-10  1:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-07 21:12 [Patch 0/12]: Gerrit Renker
2006-12-07 21:36 ` Ian McDonald
2006-12-07 21:48 ` Ian McDonald
2006-12-08 10:24 ` Gerrit Renker
2006-12-09  2:29 ` Ian McDonald
2006-12-10  1:37 ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox