[tor-bugs] #25328 [Core Tor/Tor]: cmux: Refactor, test and improve performance of the circuitmux subsystem
Tor Bug Tracker & Wiki
blackhole at torproject.org
Wed Feb 21 17:37:58 UTC 2018
#25328: cmux: Refactor, test and improve performance of the circuitmux subsystem
----------------------------+----------------------------------------------
Reporter: dgoulet | Owner: dgoulet
Type: | Status: assigned
enhancement |
Priority: Low | Milestone: Tor: 0.3.4.x-final
Component: Core | Version:
Tor/Tor |
Severity: Normal | Keywords: tor-cmux, tor-relay, refactoring
Actual Points: | Parent ID:
Points: | Reviewer:
Sponsor: |
----------------------------+----------------------------------------------
The cmux subsystem (`src/or/circuitmux.c`) is part of tor's fast path. It
gets called at every cell or at every few cell and every new or dying
circuit.
It is currently in our top 5 of CPU hugger (see #25152) and also has a
certain complexity to it. However, in practice, it should be quite simple.
#25268 helps a lot by removing dead code and helping making the code more
readable.
In order to improve that subsystem, there are few steps that need to be
taken before we can address something like #25152. Furthermore, in order
to fix some things in the scheduler (#23993), this work should be done so
we don't add more complexity to that code.
Refactoring this subsystem to something more simple also will help testing
it for which right now, it is virtually untested (see
`src/test/test_circuitmux.c`).
I'm taking this ticket because I do have planned out this work already and
it might change over time.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/25328>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list