Commit Graph

1334 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
272b9d8e46 mem: improve pre-allocation 2023-05-23 10:19:23 +02:00
Thomas Schoebel-Theuer
21bb01cfbd main: compute nr of locally needed resources 2023-05-23 10:19:23 +02:00
Thomas Schoebel-Theuer
da68981a3a mem: remove superfluous parameter 2023-05-23 10:19:23 +02:00
Thomas Schoebel-Theuer
68621e26da server: minimum SS_CONNECTED 2023-05-23 10:19:23 +02:00
Thomas Schoebel-Theuer
0856f56918 lib_log: remove unused variable 2023-05-23 10:19:23 +02:00
Thomas Schoebel-Theuer
0b6b45bfd9 lib_log: remove less used code
Do not spend resources on sophisticated but
expensive trials.
2023-05-23 10:19:23 +02:00
Thomas Schoebel-Theuer
02deb644b6 main: make is_alive time window configurable 2023-05-23 10:18:25 +02:00
Thomas Schoebel-Theuer
1e3df0f96c log: tighten start_magic 2023-05-23 10:18:25 +02:00
Thomas Schoebel-Theuer
15009b1395 infra: remove unnecessary parameter 2023-04-05 13:58:08 +02:00
Andrea Gelmini
dd1e4e1323 Fix typos
[small adaptations by Thomas Schoebel-Theuer, and
some problems with LyX-specific file format fixed]
2023-04-05 13:30:38 +02:00
Thomas Schoebel-Theuer
c15a3f016d server: use thhe new delegate_free 2023-03-22 08:56:30 +01:00
Thomas Schoebel-Theuer
57f9defdf9 brick: delegate_free 2023-03-20 09:10:24 +01:00
Thomas Schoebel-Theuer
0d1a1f627a server: reduce handler_limit 2023-03-08 22:03:37 +01:00
Thomas Schoebel-Theuer
5f463ca2d5 server: remove historic dent_limit_sem 2023-03-08 22:03:37 +01:00
Thomas Schoebel-Theuer
1bbb7af74e server: remove historic server_limit_sem 2023-03-08 22:03:37 +01:00
Thomas Schoebel-Theuer
ab19f81e53 server: earlier observe handler_limit 2023-03-08 22:02:38 +01:00
Thomas Schoebel-Theuer
0ef35060f4 server: safeguard smp_mb 2023-02-27 09:50:10 +01:00
Thomas Schoebel-Theuer
ee55f32605 brick: safeguard smp_mb and barrier 2023-02-27 09:50:10 +01:00
Thomas Schoebel-Theuer
c8841486bd if: fix potential bio return status 2023-02-27 09:50:10 +01:00
Thomas Schoebel-Theuer
bc53f522a2 logger: correct interface style 2023-02-20 09:22:34 +01:00
Thomas Schoebel-Theuer
fe62187072 client: correct interface style 2023-02-20 09:22:34 +01:00
Thomas Schoebel-Theuer
da720955e4 sio: correct interface style 2023-02-20 09:22:34 +01:00
Thomas Schoebel-Theuer
3ff50b3bc5 aio: correct interface style 2023-02-20 09:22:34 +01:00
Thomas Schoebel-Theuer
f2e91d0755 bio: correct interface style 2023-02-20 09:22:34 +01:00
Thomas Schoebel-Theuer
3b1b98e686 net: correct interface adaptation 2023-02-20 09:22:34 +01:00
Thomas Schoebel-Theuer
b0509eb759 server: shutdown all handler sockets upon rmmod 2023-02-19 17:23:39 +01:00
Thomas Schoebel-Theuer
74a645fdd4 server: keep a list of all communicating bricks
Prepare the possibility for influencing the server bricks.
2023-02-19 17:23:39 +01:00
Thomas Schoebel-Theuer
5ed769c53b server: move master socket 2023-02-19 17:23:39 +01:00
Thomas Schoebel-Theuer
eb7710dec3 server: forcibly shutdown main sockets on rmmod 2023-02-19 17:23:39 +01:00
Thomas Schoebel-Theuer
26311c611c net: fix spelling of constants
The typo in mars_recv_raw() was equivalent to MSG_CONFIRM, which should
not imply a functional harm, but obviously any nonblocking
reads on sockets did not work as intended (by staying
a synchronous operation).

Two other potential typos now corrected, without causing a difference
in the resulting constant values.

Side note 1: kernel_connect() is documented in net/socket.c that the
spelling O_NONBLOCK is the right one.

Side note 2: kernel_accept() is documented in net/socket.c that the
spelling SOCK_NONBLOCK is the right one for this case.
However, this in turn is defined as equivalent to O_NONBLOCK
in include/linux/net.h (thus no real difference).

Overall: humans may be misleaded.
2023-02-19 17:23:39 +01:00
Thomas Schoebel-Theuer
0cc08ff7fd flags: mask out unusable bits 2023-02-19 17:23:39 +01:00
Thomas Schoebel-Theuer
ce93aa3c70 flags: cleanup code and systemize 2023-02-19 17:23:39 +01:00
Thomas Schoebel-Theuer
9162870298 lib_log: safeguard crc flag interpretation
Ensure that unused flag bits cannot lead to unnecessary
retries, or to badly indexed bitvector access.
2023-02-19 17:23:39 +01:00
Thomas Schoebel-Theuer
41a70df130 main: fix init order of memory debugging 2023-02-19 17:22:10 +01:00
Thomas Schoebel-Theuer
1f0b969e2b client: emsure channel rampup after response 2023-02-05 11:07:17 +01:00
Thomas Schoebel-Theuer
74321eee3c client: rework channel states and transitions 2023-02-05 11:07:17 +01:00
Thomas Schoebel-Theuer
ba67e756a7 client: do not overlap startup of higher channels 2023-02-05 11:07:17 +01:00
Thomas Schoebel-Theuer
1b156ea855 client: improve thread naming 2023-02-05 11:07:17 +01:00
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
5ac3408e7e main: report replay errors after a small delay
Otherwise temporrary / incomplete logs may lead to
unnecessary alerts in monitoring.
2023-01-18 18:41:22 +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
e380aea93f infra: make msleep_backoff() interruptible 2023-01-18 18:41:14 +01:00
Thomas Schoebel-Theuer
3c77a0fdf6 mem: separated compile of CONFIG_MARS_DEBUG_* 2022-12-21 08:56:33 +01:00
Thomas Schoebel-Theuer
8594d13d14 infra: move brick_say inclusion 2022-12-02 22:42:11 +01:00
Thomas Schoebel-Theuer
c45faff9d6 mem: silence build warning 2022-12-02 22:41:53 +01:00
Thomas Schoebel-Theuer
46af5a6d09 infra: remove obsolete LOCK_CHECK 2022-12-02 22:36:39 +01:00
Thomas Schoebel-Theuer
cce814ab23 main: compile without EXPORT_SYMBOL(min_free_kbytes) 2022-12-02 22:36:39 +01:00
Thomas Schoebel-Theuer
09412a052e mem: silence annoying compiler warning
The compiler will optimize this away upon certain combinations of
Kconfig settings.
2022-12-02 22:17:36 +01:00