Nick Mathewson
decb927685
Add an assertion to try to please coverity.
...
Coverity, for some reason, thought that weight_scale might be 0,
leading to a divide-by-zero error.
2017-07-28 10:17:57 -04:00
Nick Mathewson
602c52cad4
Coverity deadcode shenanigans on BUG() macro.
...
We don't actually want Coverity to complain when a BUG() check can
never fail, since such checks can prevent us from introducing bugs
later on.
Closes ticket 23054. Closes CID 1415720, 1415724.
2017-07-28 10:02:38 -04:00
Nick Mathewson
5f0fa480dd
Merge branch 'maint-0.3.1'
2017-07-28 09:54:39 -04:00
Nick Mathewson
eb677c5870
Fix an unreachable memory leak in the unit tests
...
This is CID 1415726.
2017-07-28 09:52:34 -04:00
Nick Mathewson
6252e04a37
Merge branch 'maint-0.3.1'
2017-07-28 09:50:26 -04:00
Nick Mathewson
911e2dc530
Merge branch 'bug23053_029' into maint-0.3.1
2017-07-28 09:50:16 -04:00
Nick Mathewson
9a0f38a349
Fix a small memory leak when parsing unix: ports twice
...
Fixes bug 23053; CID 1415725.
2017-07-28 09:49:42 -04:00
Nick Mathewson
baf53300d7
Merge branch 'maint-0.3.1'
2017-07-27 20:33:01 -04:00
Nick Mathewson
af3079a492
Try to work around a compile warning in workqueue.c
2017-07-27 20:32:59 -04:00
Nick Mathewson
15ed1c0c83
Merge branch 'maint-0.3.1'
2017-07-27 16:30:52 -04:00
Nick Mathewson
ba334c00da
Merge branch 'multi-priority_squashed' into maint-0.3.1
2017-07-27 16:29:34 -04:00
Nick Mathewson
fdd8156ea3
Fix the cpuworker.c documentation to mention all the kinds of work
2017-07-27 16:28:59 -04:00
Nick Mathewson
f5a852de91
Note that threadpool_queue_work...() can't actually return NULL
2017-07-27 16:28:59 -04:00
Nick Mathewson
250c88014d
Always start with one additional worker thread
...
Now that half the threads are permissive and half are strict, we
need to make sure we have at least two threads, so that we'll
have at least one of each kind.
2017-07-27 16:28:59 -04:00
Nick Mathewson
0ae0b5aa41
Queue consensus diffs at LOW priority.
...
Fixes bug 22883.
2017-07-27 16:28:59 -04:00
Nick Mathewson
bddea78ded
Fix a pair of stale comments in workqueue.c
...
These comments said that each thread had a separate queue, but we
haven't been using that design for some while.
2017-07-27 16:28:59 -04:00
Nick Mathewson
efadebf7c3
Make the chance for priority inversion thread-specific
...
Instead of choosing a lower-priority job with a 1/37 chance, have
the chance be 1/37 for half the threads, and 1/2147483647 for the
other half. This way if there are very slow jobs of low priority,
they shouldn't be able to grab all the threads when there is better
work to do.
2017-07-27 16:28:59 -04:00
Nick Mathewson
10e0bff4ca
Add support for multi-priority workqueues
...
Each piece of queued work now has an associated priority value; each
priority goes on a separate queue.
With probability (N-1)/N, the workers will take work from the highest
priority nonempty queue. Otherwise, they'll look for work in a
queue of lower priority. This behavior is meant to prevent
starvation for lower-priority tasks.
2017-07-27 16:28:05 -04:00
Nick Mathewson
c2844d5377
Merge branch 'bug22895_027'
2017-07-27 11:27:07 -04:00
cypherpunks
89c0a00a9a
Remove unused variables in donna's SSE2 code
...
Fixes unused-const-variable warnings with GCC on 32-bit x86 systems.
Closes #22895 .
2017-07-27 11:26:13 -04:00
Nick Mathewson
ced2dd5f92
Merge branch 'maint-0.3.0' into maint-0.3.1
2017-07-27 08:23:37 -04:00
Nick Mathewson
b387dd364f
Merge branch 'maint-0.3.1'
2017-07-27 08:23:37 -04:00
Nick Mathewson
ad35e595e5
Merge branch 'maint-0.2.9' into maint-0.3.0
2017-07-27 08:23:36 -04:00
Nick Mathewson
24ddf5862e
Merge remote-tracking branch 'public/bug20247_029' into maint-0.2.9
2017-07-27 08:23:34 -04:00
Nick Mathewson
1c5a76f0ce
Merge branch 'maint-0.3.0' into maint-0.3.1
2017-07-26 15:39:56 -04:00
Nick Mathewson
836d628fc5
Merge branch 'maint-0.3.1'
2017-07-26 15:39:56 -04:00
Nick Mathewson
7021d33b91
Merge branch 'maint-0.2.9' into maint-0.3.0
2017-07-26 15:39:56 -04:00
Nick Mathewson
5c5eb0f095
Merge branch 'maint-0.2.7-redux' into maint-0.2.8
2017-07-26 15:39:55 -04:00
Nick Mathewson
ddd66cc019
Merge branch 'maint-0.2.6' into maint-0.2.7-redux
2017-07-26 15:39:55 -04:00
Nick Mathewson
f794b40ec0
Merge branch 'maint-0.2.5' into maint-0.2.6
2017-07-26 15:39:55 -04:00
Nick Mathewson
af39c13a03
Merge branch 'maint-0.2.4' into maint-0.2.5
2017-07-26 15:39:55 -04:00
Nick Mathewson
f17f7a4fdf
Merge branch 'maint-0.2.8' into maint-0.2.9
2017-07-26 15:39:55 -04:00
Nick Mathewson
ebb441ded2
Point travis to #tor-ci, not #tor-bots
2017-07-26 15:39:50 -04:00
Nick Mathewson
ca9834c5ca
Merge branch 'maint-0.3.1'
2017-07-26 15:38:48 -04:00
Nick Mathewson
ebb0ac3385
Merge remote-tracking branch 'isis/bug22636_0.3.1_squashed' into maint-0.3.1
2017-07-26 15:38:23 -04:00
Nick Mathewson
1a907c6593
Merge branch 'maint-0.3.0' into maint-0.3.1
...
This is an "ours" merge to avoid taking any changs from maint-0.3.0:
we don't want to take the travis file, since there is a separate branch
for putting it in 0.3.1 and later.
2017-07-26 15:37:53 -04:00
Nick Mathewson
cc4c1840a6
Merge branch 'maint-0.2.9' into maint-0.3.0
2017-07-26 15:37:06 -04:00
Nick Mathewson
f226d6460d
Travis update: "gcc-warnings" became "fatal-warnings" in 0.2.9
2017-07-26 15:37:00 -04:00
Nick Mathewson
dcc477cb53
Merge branch 'maint-0.2.8' into maint-0.2.9
2017-07-26 15:35:17 -04:00
Nick Mathewson
fbf93614c9
Merge branch 'maint-0.2.7-redux' into maint-0.2.8
2017-07-26 15:35:07 -04:00
Nick Mathewson
c362c6a852
Merge branch 'maint-0.2.6' into maint-0.2.7-redux
2017-07-26 15:35:01 -04:00
Nick Mathewson
0ad5a6b034
Merge branch 'maint-0.2.5' into maint-0.2.6
2017-07-26 15:34:56 -04:00
Nick Mathewson
09618bc488
Merge branch 'maint-0.2.4' into maint-0.2.5
2017-07-26 15:34:40 -04:00
Nick Mathewson
8d3c3f039d
Merge branch 'maint-0.3.1'
2017-07-26 12:58:22 -04:00
Nick Mathewson
431c8d09ee
Merge branch 'maint-0.3.0' into maint-0.3.1
2017-07-26 12:58:22 -04:00
Nick Mathewson
18734d3b25
Merge branch 'maint-0.2.9' into maint-0.3.0
2017-07-26 12:58:22 -04:00
Nick Mathewson
0117e2ea0d
Merge branch 'bug23030_029_v2' into maint-0.2.9
2017-07-26 12:58:17 -04:00
Nick Mathewson
32b9edeb91
Fix build warnings from Coverity related to our BUG macro
...
In the Linux kernel, the BUG() macro causes an instant panic. Our
BUG() macro is different, however: it generates a nonfatal assertion
failure, and is usable as an expression.
Additionally, this patch tells util_bug.h to make all assertion
failures into fatal conditions when we're building with a static
analysis tool, so that the analysis tool can look for instances
where they're reachable.
Fixes bug 23030.
2017-07-26 12:57:49 -04:00
Nick Mathewson
8b5b3b5fb4
Merge branch 'maint-0.3.1'
2017-07-26 12:54:41 -04:00
Nick Mathewson
30a98c765f
Merge branch 'bug22927_031' into maint-0.3.1
2017-07-26 12:54:37 -04:00