We accept way more tap cells than we process
Our fix in #7291 (moved) was meant to have us turn away onionskins that we're unlikely to get to. But in practice our #9658 (moved) patch shows that we're accepting way more than we process.
Linus briefly did a test where he cherry-picked the #9658 (moved) patch onto 0.2.4.16-rc and it was still only handling about 25% of incoming requests. His cursory analysis was that he was dropping them with the
log_info(LD_CIRC,
"Circuit create request is too old; canceling due to overload.");
line.
Should we be refusing these earlier, so clients can know to go elsewhere?
One possible culprit is that the main Tor thread is too busy to give cpuworker events out on time.