
I've been working on the volunteer project described here https://www.torproject.org/getinvolved/volunteer.html.en#useMoreCores but can't spend much more time on it. Right now, I have refactored circuit_receive_relay_cell() in relay.c (which calls relay_crypt() and eventually the AES crypt routines) to use the workqueue.c infrastructure similar to cpuworker.c. When the refactored code runs in single threaded mode, all seems good. Once I activate the thread pool and start sending it work with threadpool_queue_work(), it Bootstraps 100% okay and runs for several minutes before crashing on cells it doesn't handle properly. I'm happy to share my code with anyone interested. Thanks.

On 01 Dec (09:19:45), Jeremy wrote:
Hi Jeremy! This is great! Thanks for this. You should definitely post your code (link to branch or .diff) to ticket #7572 [1] so someone at some point can take a look at it and help you out. Thanks! David [1] https://trac.torproject.org/projects/tor/ticket/7572

On Tue, 1 Dec 2015 09:19:45 -0500 Jeremy <jeremy@sturgix.com> wrote:
Sure I think I'm the person that used the workqueue stuff last, so I'd be up for doing the rest of the work (nb: I am traveling/in meetings for the rest of the week, so it'll be next week at the earliest that I can really spend quality time). Regards, -- Yawning Angel
participants (3)
-
David Goulet
-
Jeremy
-
Yawning Angel