diff options
author | Micah Elizabeth Scott <beth@torproject.org> | 2023-04-11 10:28:09 -0700 |
---|---|---|
committer | Micah Elizabeth Scott <beth@torproject.org> | 2023-05-10 07:41:37 -0700 |
commit | a13d7bd5e96765ac7c660415a498d9d9100ade62 (patch) | |
tree | 9dde01ff99db4bbce880ae166b919bc22cc2dfb6 /src/feature/hs/hs_service.c | |
parent | 60231536315517b4133cbe80d430b8133dd42c55 (diff) | |
download | tor-a13d7bd5e96765ac7c660415a498d9d9100ade62.tar.gz tor-a13d7bd5e96765ac7c660415a498d9d9100ade62.zip |
hs_pow: always give other events a chance to run between rend requests
This dequeue path has been through a few revisions by now, first
limiting us to a fixed number per event loop callback, then an
additional limit based on a token bucket, then the current version
which has only the token bucket.
The thinking behing processing multiple requests per callback was to
optimize our usage of libevent, but in effect this creates a
prioritization problem. I think even a small fixed limit would be less
reliable than just backing out this optimization and always allowing
other callbacks to interrupt us in-between dequeues.
With this patch I'm seeing much smoother queueing behavior when I add
artificial delays to the main thread in testing.
Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
Diffstat (limited to 'src/feature/hs/hs_service.c')
0 files changed, 0 insertions, 0 deletions