[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