[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #7912 [Tor]: Cells that don't get inserted into cell queues can clog connection flushing
#7912: Cells that don't get inserted into cell queues can clog connection flushing
------------------------------------+---------------------------------------
Reporter: asn | Owner:
Type: defect | Status: needs_revision
Priority: major | Milestone: Tor: 0.2.4.x-final
Component: Tor | Version:
Keywords: tor-relay 023-backport | Parent:
Points: | Actualpoints:
------------------------------------+---------------------------------------
Comment(by andrea):
I think the best solution to this is to treat DESTROY and any other
similar entities we want to schedule distinctly from any particular
circuit as a special virtual circuit for scheduling purposes, but this
will be somewhat tricky to do because right now the code in circuitmux.c
uses circuit_t * in a lot of places: keeping a linked list of active
circuits, passing a circuit_t * into function pointers, and so on. In the
function pointer case, it seems acceptable to modify it to pass NULL to
mean 'no particular circuit' along with a separate circuitmux-wide
instance of circuitmux_policy_circ_data_t, but the usage internal to the
circuitmux_t will be trickier.
Probably, we should switch to some other data structure that wraps a
circuit_t * *or* has a flag to say 'this is the magic control circuit',
but that's an extensive enough code modification that I think it's
definitely an 0.2.5 feature. The suggestion of special-casing the destroy
queue to be high-priority without starvation seems like a good right-now
option.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/7912#comment:20>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs