[tor-bugs] #34010 [Core Tor/Tor]: Use io_uring when available
Tor Bug Tracker & Wiki
blackhole at torproject.org
Mon Apr 27 12:47:43 UTC 2020
#34010: Use io_uring when available
--------------------------+------------------------
Reporter: torry | Owner: (none)
Type: enhancement | Status: new
Priority: Medium | Milestone:
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: io_uring | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
--------------------------+------------------------
Comment (by dgoulet):
Hi torry!
We've indeed noticed `IO_uring` and it looks very promising! One of the
issue with adopting a new I/O technology like this with tor is that it has
to be used by `libevent` for us to utilize it. Tor I/O foundations is
libevent.
However, there are ideas floating around and potential funding proposal we
are writing on getting progressively away from libevent for certain things
and one of them is the relay I/O in order to move it to a more multicore
architecture.
And `IO_uring` is _definitely_ very juicy target imo instead of `epoll`.
Tor still needs to keep compatibility with other platforms such as Windows
and BSD so there is still a non straight forward path to use it since the
non-Linux cases need to be figured out properly.
As for:
> In my own experience running a relay on a low end hardware for two years
and the low end hardware was never able to fill the fiber connection. It
seems to be quite a lot of internal overhead, perhaps io_uring could
really help.
This could be in part due to tor's performance but in reality most of it
is due to bandwidth balancing in the network which in short means that Tor
is not optimally distributing the traffic evenly through out the network.
Thanks for pointing this out!
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/34010#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list