[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-talk] Tor and AES-NI acceleration , and Tor profiling

On Sat, Nov 19, 2011 at 12:22 PM, Watson Ladd <watsonbladd@xxxxxxxxx> wrote:
> I'm a bit confused: I see a lot of time in
> assign_onionskin_to_cpuworker and I don't see looking in the
> code why this should take long.

Hm.  This is weird enough that I'm not sure how I trust these results.
 There's nothing in assign_onionskin_to_cpuworker that's
performance-intensive and likely to get inlined, as far as I can
tell.... oh, wait!  See bug #4518; I should have a patch ready for
review in a few minutes.

> I'm also not seeing lots of time in
> onion_skin_server handshake, which is apparently a big slow point that
> had to be put in its own thread for responsiveness.

The function to blame there would be "be_mul_mont" and other stuff
that does bignum operations for OpenSSL.

> The same with
> circuit_unlink_all_from_orconn. Apparently crawling a linked list is
> the new bottleneck.

This is going to be a little tricker; it might require some data
structure fixes.  I'll open another ticket for that one (#4519).

Other interesting points on the second profile: inet_csk_get_port and
__ticket_spin_lock both show up high in the profile.  The first one
appears to be used to find a port for a socket, if I'm reading it
right.  (Not sure what we can do, if anything, to make that faster or
do that less.)  Does the second one mean we're seeing lock contention
on kernel locks?  If so, it would be interesting to know why; that
function is eating a fair chunk of time.

tor-talk mailing list