Commit Graph

3608 Commits

Author SHA1 Message Date
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 e583dfb095 all: release mars0.1astable160 2023-02-05 11:07:17 +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 44b7c8b808 all: release mars0.1astable159 2023-01-18 18:41:22 +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 ab703baa41 all: release mars0.1astable158 2022-12-02 22:42:11 +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
Thomas Schoebel-Theuer 5a6cfa7798 copy: replace st->prev with computation 2022-12-02 22:17:36 +01:00
Thomas Schoebel-Theuer 2740de0422 copy: safeguard coercions 2022-12-02 22:17:36 +01:00
Thomas Schoebel-Theuer 40e0fdd519 copy: v2 limit via MAX_ACTIVE_AREA 2022-12-02 22:17:36 +01:00
Thomas Schoebel-Theuer 9804d7456e copy: v2 stable_copy{start,end} 2022-12-02 22:17:36 +01:00
Thomas Schoebel-Theuer 5efeb7545b copy: length and offset paranoia for debugging 2022-12-02 22:17:36 +01:00
Thomas Schoebel-Theuer 60b1f238d7 copy: safeguard prev 2022-12-02 22:17:36 +01:00
Thomas Schoebel-Theuer 9701b0b0cc copy: optimize ref_len 2022-12-02 22:17:36 +01:00
Thomas Schoebel-Theuer a72af6a9e3 copy: introduce brick shutdown phase with timeout 2022-12-02 22:17:33 +01:00
Thomas Schoebel-Theuer 986dddcb7f aio: trigger upon shutdown 2022-12-02 22:17:25 +01:00
Thomas Schoebel-Theuer 885ab25599 client: trigger upon shutdown 2022-12-02 22:17:25 +01:00
Thomas Schoebel-Theuer 0a2d1258b7 logger: trigger upon shutdown 2022-12-02 22:17:25 +01:00
Thomas Schoebel-Theuer b4778909a2 generic: round up object allocations to possible cache lines 2022-11-28 16:07:59 +01:00
Thomas Schoebel-Theuer b05dddc640 if: safeguard potential clashes on congestion_fn users 2022-11-28 14:08:36 +01:00
Thomas Schoebel-Theuer dda10579ff all: release mars0.1astable157 2022-10-15 07:13:35 +02:00
Thomas Schoebel-Theuer 5b2198e81d doc: explain new primitive global-sync-limit-value 2022-10-15 07:07:23 +02:00
Thomas Schoebel-Theuer f840c6604d marsadm: view displays new macro global-sync-limit-value 2022-10-15 07:07:23 +02:00
Thomas Schoebel-Theuer 43e7d44991 proc: remove stray line 2022-10-15 07:07:23 +02:00
Thomas Schoebel-Theuer 950569a932 generic: remove stray definition 2022-10-15 07:07:23 +02:00
Thomas Schoebel-Theuer 82a8c778de mem: silence annoying stacktraces via __GFP_NOWARN 2022-10-15 07:06:31 +02:00
Thomas Schoebel-Theuer c2226180dd Kbuild: reduce cyclic dependencies
make headerdep now appears to cause less consecutive problems ;)

Unfortunately, this should run on top of a variety of kernel versions,
so I just try my best here.
2022-10-04 15:45:53 +02:00