Opened 7 years ago

Closed 7 years ago

#9731 closed defect (fixed)

connection_consider_empty_{read,write}_buckets should not affect cpuworker connections

Reported by: nickm Owned by:
Priority: High Milestone: Tor: 0.2.4.x-final
Component: Core Tor/Tor Version:
Severity: Keywords: 023-backport tor-relay
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


On IRC, skruffy points out that connection_consider_empty_{read,write}_buckets seem to affect local connections to cpuworkers. That can't possibly be right.

Child Tickets

Change History (4)

comment:1 Changed 7 years ago by nickm

Status: newneeds_review

There's a fix in branch "bug9731". I wonder if it breaks anything? Probably needs testing.

There's a less aggressive fix in branch "bug9731b" that applies the change only to cpuworker connections. That's a bit less likely to get unforseen consequences.

comment:2 Changed 7 years ago by arma

bug9731b sounds ok for 0.2.4 if you're convinced it's a big deal for fast relays. If it's not a big deal, we should leave 0.2.4 alone.

I think bug9731 (for 0.2.5) might be improved by putting the 'if' at the top of the function, rather than after all the other computations that we're then going to ignore the result of.

comment:3 Changed 7 years ago by nickm

I'm pretty sure that it's a big deal. Whenever your relay is ever exhausting its bandwidth bucket, it will fail to read or write data to cpuworkers. This increases the amount of time that cpuworkers will spend idle.

Now, an even better solution on the CPUworker situation would be a better, pipelining-based cpuworker implementation, like I did for my #9682 branch. But that's definitely 0.2.5 material.

comment:4 Changed 7 years ago by nickm

Resolution: fixed
Status: needs_reviewclosed

Merged the b branch to 0.2.4, the main branch to 0.2.5, and made the tweak you suggested.

Note: See TracTickets for help on using tickets.