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