[tor-reports] Andrea's June 2013 status report
Andrea Shepard
andrea at torproject.org
Tue Jul 2 00:44:51 UTC 2013
In June 2013:
* Investigated non-blocking socket behavior on OpenBSD for #9017
* Added instrumentation and did testing for #7912
* Implemented cell queue length fix, then rolled it back because the
protocol is stupid in a way that meant it enable a different attack
(*siiiigh*)
* Reviewed #8822
* Had a first look at refactoring cmux code to pick among all writeable
channels rather than just one at a time; did profiling tests on existing
code
- Conclusion:
Nearly all calls into channel_flush_from_first_active_circuit() in
the current code flow from the read-driven end through
append_cell_to_circuit_queue() or the write-driven end through
channel_flush_some_cells(). The proportion depends on where the rate-
limiting point is (outgoing bandwidth or throttling).
- Proposed strategy for cmux refactor:
- Keep track, per channel, of whether the channel wants to
write (update in append_cell_to_circuit_queue()) and whether it
can write (update in the write-driven pathway instead of
channel_flush_some_cells()).
- Changes to these bits trigger running the scheduling algorithm,
but at most once per event loop.
- Scheduler calls enhanced cmux mechanism to use a pluggable scheduling
policy to choose circuits in preference order *among all available
channels* rather than one at a time.
--
Andrea Shepard
<andrea at torproject.org>
PGP fingerprint: 3611 95A4 0740 ED1B 7EA5 DF7E 4191 13D9 D0CF BDA5
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-reports/attachments/20130701/a1fc6993/attachment.sig>
More information about the tor-reports
mailing list