Thomas Schoebel-Theuer
ad3f5fa943
server: improve CPU usage on slow throughput
...
Th problem is a distributed one, the scenario is very difficult to
reproduce, and would trigger massive occurence of false-positive test
results, and the classic yield() operation (as already implemented) is
not enough for a solution.
In a certain special case, give up the CPU via a linear backoff
algorithm. in order to prevent a plethora of followup effects, e.g. in
special situations like already happened OOM under a variety of hardware
and kernel configurations.
2023-01-16 10:00:06 +01:00
Thomas Schoebel-Theuer
93b49cbc68
server: destroy mutex
2022-06-22 08:23:03 +02:00
Thomas Schoebel-Theuer
31401ab85c
server: better react on brick startup problems
2022-06-22 08:23:03 +02:00
Thomas Schoebel-Theuer
b395c4bdcc
server: access callback lists solely under lock
2022-06-06 15:02:52 +02:00
Thomas Schoebel-Theuer
5a659a0441
server: improve callback list and safeguard locking
...
Coding style: pairwise nesting of lock/unlock.
Always prefer writes in front of reads when callbacks
need to be transported.
2022-06-06 15:01:43 +02:00
Thomas Schoebel-Theuer
55f9e16365
server: safeguard socket shutdown
2022-06-01 05:43:26 +02:00
Thomas Schoebel-Theuer
ae69c28342
server: safeguard thread termination
2022-06-01 05:43:26 +02:00
Thomas Schoebel-Theuer
acf7d0c4cc
server: fix potential races on deallocation
2022-06-01 05:43:06 +02:00
Thomas Schoebel-Theuer
9a8ae5e78a
server: safeguard interim realloc and len changes
2022-05-27 07:44:10 +02:00
Thomas Schoebel-Theuer
5f13e810b7
all: safeguard mb on indirect calls
2021-07-08 07:44:38 +02:00
Thomas Schoebel-Theuer
78376caa1a
all: fix race on activate_peer
2020-11-20 09:42:35 +01:00
Thomas Schoebel-Theuer
c26fb3bef2
infra: invalidate user caches
2020-11-07 08:34:57 +01:00
Thomas Schoebel-Theuer
166fefb676
all: allow rebased fetch
2020-11-07 08:34:57 +01:00
Thomas Schoebel-Theuer
d8e641a40e
infra: new push_check operation
2020-11-07 08:34:56 +01:00
Thomas Schoebel-Theuer
1a96616efe
main: new oneshot parameter at activate_peer()
2020-11-07 08:34:56 +01:00
Thomas Schoebel-Theuer
8ac109ad22
server: activate peer on ip push
2020-11-07 08:25:46 +01:00
Thomas Schoebel-Theuer
5a4f1961be
all: less msleep
2020-09-18 17:45:57 +02:00
Thomas Schoebel-Theuer
302e7edfe7
infra: simplify mars_free_dent_all
2020-09-17 18:02:27 +02:00
Thomas Schoebel-Theuer
1e5be3d1b9
infra: move dent transfer prototypes to strategy
2020-09-17 18:02:27 +02:00
Thomas Schoebel-Theuer
1c3468985a
infra: increase hash table
2020-09-01 19:35:10 +02:00
Thomas Schoebel-Theuer
c500183177
server: precise thread naming
2020-09-01 19:35:10 +02:00
Thomas Schoebel-Theuer
7467aa9939
infra: allow pushing links to peers
2020-07-24 22:42:46 +02:00
Thomas Schoebel-Theuer
8d9ac84b46
infra: extend cmds with 2 strings
2020-07-20 21:20:47 +02:00
Thomas Schoebel-Theuer
8946873739
infra: new trigger code conventions
2020-07-20 21:20:09 +02:00
Thomas Schoebel-Theuer
e02bd88349
infra: fix proto_level conditions
2020-07-08 22:10:08 +02:00
Thomas Schoebel-Theuer
5071b3d0b2
infra: remember Lamport stamp of remote link tree
2020-07-08 21:09:39 +02:00
Thomas Schoebel-Theuer
ea4fbc1885
all: remove superfluous dealloc tests and clears
2020-07-08 21:00:05 +02:00
Thomas Schoebel-Theuer
f7dbb5c0d0
server: replace spinlock with mutex
2020-06-30 21:07:09 +02:00
Thomas Schoebel-Theuer
37da08d6a4
server: new thread naming conventions
2020-06-30 21:07:09 +02:00
Thomas Schoebel-Theuer
4a7905cf8e
server: safeguard double free
2020-06-30 21:07:09 +02:00
Thomas Schoebel-Theuer
628c636dff
all: distinguish *_ops_* from *_amount_* at limiter
2020-04-13 11:24:01 +02:00
Thomas Schoebel-Theuer
ffcc691efd
server: enable callback compression
2020-04-13 11:21:17 +02:00
Thomas Schoebel-Theuer
9e6fb4120c
infra: deprecate ref_cs_mode
2020-04-13 10:54:19 +02:00
Thomas Schoebel-Theuer
40e72f9e7d
all: deprecate mref_rw and mref_may_write
2020-04-13 10:54:19 +02:00
Thomas Schoebel-Theuer
343670b52d
infra: remove superfluous parameter
2020-04-13 10:52:38 +02:00
Thomas Schoebel-Theuer
333760bc1a
infra: simplify mars_kill_brick_when_possible()
2020-04-13 10:52:38 +02:00
Thomas Schoebel-Theuer
2d9cab0461
server: reduce handler stack frame size
2020-04-13 09:55:19 +02:00
Thomas Schoebel-Theuer
24484a8749
server: reduce server stack frame size
2020-04-13 09:55:19 +02:00
Thomas Schoebel-Theuer
21b4874e30
infra: make dent protocol extensible
2020-04-13 09:55:19 +02:00
Thomas Schoebel-Theuer
0c5b5daa38
infra: {send,recv}ing mars_cmd via wrapper
2020-04-13 09:55:19 +02:00
Thomas Schoebel-Theuer
8097fe2971
infra: separate dent list retrieval for remote communication
2020-04-01 06:12:28 +02:00
Thomas Schoebel-Theuer
8019a43aa6
server: pimp handler_limit
2020-01-25 20:15:21 +01:00
Thomas Schoebel-Theuer
2176f6ee13
bio: adapt to REQ_IDLE in place of NOIDLE
2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
8b0d52e705
server: remove deprecated loadavg quirk
2019-12-25 09:19:06 +01:00
Thomas Schoebel-Theuer
ee08ab587e
infra: introduce hash_table and hash_link
2019-07-10 11:27:37 +02:00
Thomas Schoebel-Theuer
b1861be0a9
infa: add quick dent list for speedup
2019-07-10 11:27:37 +02:00
Thomas Schoebel-Theuer
426b67e811
Merge branch 'mars0.1.y' into mars0.1a.y
2018-11-26 11:38:26 +01:00
Thomas Schoebel-Theuer
d6511758a3
server: fix stupid typo
2018-11-26 11:15:19 +01:00
Thomas Schoebel-Theuer
d5dc1ea8af
all: differentiate traffic types
2018-05-14 20:42:00 +02:00
Thomas Schoebel-Theuer
1bb56365c3
all: introduce traffic types
2018-05-14 20:42:00 +02:00