Thomas Schoebel-Theuer
127cbd6d86
client/server: add /proc/sys/mars/[cs]*_count
2023-02-05 11:07:17 +01:00
Thomas Schoebel-Theuer
7f876a1a82
server: separate flying reads and write counters
2023-02-05 11:07:09 +01:00
Thomas Schoebel-Theuer
e33ec25563
server: earlier disallow IO ops on unconnected bricks
...
Unconnected server bricks cannot work at the IO layer, but
are required for the strategy layer (in order to get strategic
information over the network even when IO is not yet possible).
Reflect this in the code, and report any potential communication
mischief as early as possible (safeguard).
Functional testing did not show a difference, but timing
behaviour should have improved.
2023-02-05 10:39:57 +01:00
Thomas Schoebel-Theuer
27916f714a
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-18 18:41:22 +01:00
Thomas Schoebel-Theuer
a4b63e4c63
all: deprecate statistics via say logging
2022-09-07 15:07:27 +02:00
Thomas Schoebel-Theuer
9bf9c8096a
all: deprecate historic say logging
2022-09-07 14:14:37 +02:00
Thomas Schoebel-Theuer
301b9f215a
server: use new smp waiting
2022-08-24 10:22:27 +02:00
Thomas Schoebel-Theuer
a505a391b5
server: safeguard unexpected socket destruction
2022-08-16 19:08:27 +02:00
Thomas Schoebel-Theuer
03876c40eb
server: safeguard underneath socket destruction
2022-08-16 19:08:27 +02: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