Commit Graph

4600 Commits

Author SHA1 Message Date
Jeff Becker
0828307906 fix address mapping bug 2019-11-29 19:11:14 -04:00
Jeff Becker
5188873288 batch and flush 2019-11-29 19:11:14 -04:00
Jeff Becker
8849173112 try async decrypt then verify 2019-11-29 19:11:14 -04:00
Jeff Becker
2852601a28 flush in logic 2019-11-29 19:11:14 -04:00
Jeff Becker
d823d6fa70 only flush when no other jobs are executing 2019-11-29 19:11:14 -04:00
Jeff Becker
9e305c5b30 use lockless queues to gather results of transit traffic work 2019-11-29 19:11:14 -04:00
Jeff Becker
d591394ad2 dont process empty queues 2019-11-29 19:11:14 -04:00
Jeff Becker
e2472d985d process transit hops on flush 2019-11-29 19:11:14 -04:00
Jeff Becker
1a06da9c3d reduce calls in link pump 2019-11-29 19:11:14 -04:00
Jason Rhinelander
d13a3d2b62 Don't flush here; we already have a tick flushing 2019-11-29 19:11:14 -04:00
Thomas Winget
6d506302dc Show number of logic thread jobs in debug builds 2019-11-29 19:11:14 -04:00
Thomas Winget
6acf7bff7e Track and log UV event loop ticks in debug builds 2019-11-29 19:11:14 -04:00
Jeff Becker
285a9a1dd5 prevent segfault 2019-11-29 19:11:14 -04:00
Jeff Becker
a3a62c34f3 use timer guard for all jobs in debug mode 2019-11-29 19:11:14 -04:00
Jeff Becker
af663d8b10 prune members in timer context 2019-11-29 19:11:14 -04:00
Jeff Becker
11d4760c3d add metrics tracking for logic jobs in debug mode 2019-11-29 19:11:14 -04:00
Jeff Becker
ba0fd223d9 reduce number of jobs we put onto the logic thread 2019-11-29 18:45:06 -04:00
Jeff
f8c6c1379a
Merge pull request #929 from majestrate/increase-logic-queue-size-2019-11-25
make logic job queue 8 times bigger
2019-11-26 13:32:25 -05:00
Jeff
001c8c5f04
Merge pull request #926 from majestrate/fix-zero-hop-bug-2019-11-25
fix "zero hop" bug
2019-11-26 06:13:45 -05:00
Jeff Becker
dd48b149ca
make job queue size configurable 2019-11-25 16:30:34 -05:00
Jeff Becker
853108ce6e
make logic job queue 8 times bigger 2019-11-25 16:15:31 -05:00
Jeff Becker
cbb7196b30
fix "zero hop" bug 2019-11-25 11:53:03 -05:00
Jeff
ee40389f05
Merge pull request #916 from majestrate/add-contention-killer-2019-11-14
assorted crap
2019-11-22 16:31:15 -05:00
Jeff
cea41121ca
Merge pull request #924 from jagerman/faster-ev-ticks
Lower the ev tick interval to 10ms
2019-11-22 16:30:08 -05:00
Jeff Becker
c3858a56df
make it compile 2019-11-22 16:23:21 -05:00
Jeff Becker
34bc3da069
flush quues of other paths 2019-11-22 16:23:20 -05:00
Jeff Becker
6f95fbfece
work in progress 2019-11-22 16:23:20 -05:00
Jeff Becker
ac686a9329
remove valgrind access errors 2019-11-22 16:23:20 -05:00
Jeff Becker
0ec4e583d4
initialize with zeros 2019-11-22 16:23:20 -05:00
Jeff Becker
065b022427
std::move 2019-11-22 16:23:20 -05:00
Jeff Becker
b8f773eb73
use lambda 2019-11-22 16:23:20 -05:00
Jeff Becker
250cfea1e9
remove use of void * in godawful old code from a time before happyness 2019-11-22 16:23:20 -05:00
Jeff Becker
b207db626f
please the gods of valgrind 2019-11-22 16:23:20 -05:00
Jeff Becker
d44d034775
make contention checker templated 2019-11-22 16:23:19 -05:00
Jeff Becker
1fa0a0aab2
make it compile 2019-11-22 16:23:19 -05:00
Jeff Becker
fdbaaa8188
try fixing file log segfault 2019-11-22 16:23:19 -05:00
Jeff Becker
1188763ece
typo fix in release 2019-11-22 16:23:19 -05:00
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs 2019-11-22 16:23:19 -05:00
Jeff Becker
eb6d042e73
make sure all calls of logic thread jobs are not having contention 2019-11-22 16:23:18 -05:00
Jeff Becker
d7f09a365d
contention killer 2019-11-22 16:23:18 -05:00
Jason Rhinelander
d3082fffc9 Lower the ev tick interval to 10ms
When there's nothing waiting we wait this long unconditionally, but that
can add a lot of latency across a path.

There are likely better ways to handle this via libuv's run handlers,
but this addresses the latency until we figure that out.
2019-11-22 17:05:51 -04:00
Jeff
99d76280be
Merge pull request #917 from jagerman/remove-resolveConf
Remove shell globbing of path
2019-11-21 11:33:54 -05:00
Jeff
a188291055
Merge pull request #919 from jagerman/avx2-detection
Fix runtime AVX2 detection
2019-11-21 10:54:46 -05:00
Jason Rhinelander
cdca34e628 Fix runtime AVX2 detection
The feature flags come via __cpuid_count instead of __cpuid

Also removes a couple unneeded headers.
2019-11-21 11:50:04 -04:00
Jason Rhinelander
f54740fa85 Don't pointlessly set conffname back to itself 2019-11-20 18:00:10 -04:00
Jason Rhinelander
e0340e86b2 clang-format fixes 2019-11-20 17:45:56 -04:00
Jason Rhinelander
2bdde18558 Remove shell globbing of path
resolvePath was leaking memory (the returned char * from realpath was
never freed), but upon closer inspection resolvePath doesn't seem right:
shell/glob/~ expansion is the job of the shell, not the argument (but
worse, if you pass it something like '~' (quoted) it would expand, which
is wrong.

Also de-duplicate some code.
2019-11-20 17:22:07 -04:00
Jason Rhinelander
d96d33329b
Merge pull request #912 from majestrate/logic-thread-fix-2019-11-13
fix logic thread behavior
2019-11-19 15:26:35 -04:00
Jeff
8f6a18f411
Merge pull request #915 from notlesh/fix-session-key-mismatch-2019-11-19
Fix #911: Drop new inbound IWP sessions when the first packet can't be handled
2019-11-19 14:25:49 -05:00
Jason Rhinelander
6524563d33
Merge pull request #897 from majestrate/bencode-seek-for-version-2019-11-03
seek for version and set it before deserializing
2019-11-19 15:24:07 -04:00