Commit Graph

185 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
0f9f2b404d light: protect copy against concurrent logfile updates 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
28d433cc81 trans_logger: fix potential race on log_input
During logrotate, there may exist writeback clusters
with mixed log_inputs. Each sub_mref now gets its individual
log_input inherited from the orig_mref. Add ref counting
to ensure that cleanup can never occur on an active log_input.
2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
ec69356a14 trans_logger: make completion_semantics configurable 2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
7b905f93ad trans_logger: limit q0 length 2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
fa12becf00 trans_logger: add CRC checksumming of data
Off by default, since it may hurt performance.
2013-01-23 20:06:56 +01:00
Thomas Schoebel-Theuer
d9cbea66c2 aio: do mapfree_pages() via background thread
This is crucial for performance, since invalidate_mapping_pages()
may take a long time and consume a lot of CPU.
Decouple it from time-critical worker threads.
2013-01-23 20:06:56 +01:00
Thomas Schoebel-Theuer
ce41cdee2b server: lockless dent shipping 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
2d225065c8 light: use new lamport timestamp semantics 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
f7b5369468 infra: automatic timestamps in mars_symlink() 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
f7331fccf3 infra: fix readlink 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
e108777ff8 light: new sematics of version links 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
7a01e6a5a8 trans_logger: update symlinks via callback 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
0ef119edd1 infra: intoduce brick_yield() 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
7b998de219 infra: add mars_readlink() 2013-01-23 20:06:53 +01:00
Thomas Schoebel-Theuer
ab7766e829 infra: qiet harmless stat error 2013-01-23 20:06:53 +01:00
Thomas Schoebel-Theuer
2f74813ce6 light: fix opportunity for bad end_pos computation 2013-01-23 20:06:52 +01:00
Thomas Schoebel-Theuer
1a25b0c57a light: fix hangs caused by bad replay links 2013-01-23 20:06:52 +01:00
Thomas Schoebel-Theuer
3aebe8de7f mars_proc: improve naming conventions and access flags 2013-01-23 20:06:52 +01:00
Thomas Schoebel-Theuer
58a0db4280 light: improve debugging of replaylink 2013-01-23 20:06:52 +01:00
Thomas Schoebel-Theuer
db19f86347 if: allow open() only when switched on 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
d1469b5b83 infra: better statistics on object/aspect allocations 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
23c4a1cc57 proc: show lamport clock in /proc/sys/mars/ 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
af5c95317c light: fix potential NULL ptr deref 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
3f4e86427d infra: remove timeout on brick deletion
in any case, infinite waiting is better than bombing
due to deallocated memory where threads try to continually
work on.
2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
43a6c2239c net: fix release and re-open of sockets 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
d07aaa75c3 net: speedup struct communication 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
bcea0eac40 infra: fix memleak on remote dent lists 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
d0b5b7ce48 brick_say: allow delaying callers upon overflow 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
a1ec9ec5db light: fix memory leak in rot destruction 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
932a4c56ef debugging: show caller line at *path_make() and friends 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
8490dcc7bc light: add statusfile_rollover 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
87631d14fc all: make rmmod more robust when requests are flying 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
5041dd1cf4 mem: show raw statistics in /proc 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
f88c3c12ad brick_say: separate logfiles for each resource 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
fdd3b251c0 all: replace kthread by brick_thread wrapper 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
47040b5798 brick_say: implement status files via intermediate .tmp files 2013-01-23 20:06:49 +01:00
Thomas Schoebel-Theuer
569e70eb90 light: delay shutdown if buffer memory is in use 2013-01-23 20:06:49 +01:00
Thomas Schoebel-Theuer
4b94866c80 light: parameterize aio instances correctly 2013-01-23 20:06:49 +01:00
Thomas Schoebel-Theuer
e7f88c84d6 infra: rewrite brick_say to work with threads
It was cumbersome to write to files in / after in_interrupt() & co.
A master write thread will also reduce the peak IO parallelism
on log data in /mars .

Further work has to be done to utilize non-default write channels.
2013-01-23 20:06:49 +01:00
Thomas Schoebel-Theuer
c319230fa1 all: IO scheduling improvements, tuning
Dastically boost random write performance on RAID controllers with BBUs.
Writeback is only performed when there is no IO contention / starvation.
The old IO contention controller was suited to workstations.
Now server loads are well-controlled even when BBUs are present.
2013-01-23 20:06:49 +01:00
Thomas Schoebel-Theuer
9016c81057 light: report timestamp of replay in actual-* 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
06e6ff0973 proc: show actual traffic rates 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
23c8af994c proc: show actual mem usage in /proc/sys/mars/ 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
261fc98d4a light: use limiter for display of rates 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
37c4e34f76 all: port to kernel 3.2 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
11c7900acb all: replace msleep() by brick_msleep() 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
c1ba96f0a0 all: fix race on close of transaction log 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
5365063c58 light: fix invalid version links based on outdated prev version 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
64d6397711 light: fix invalid version links at logrotate (ITOPWPT-225) 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
64849f9949 light: better ERR reporting in _update_versionlink() 2013-01-20 23:24:29 +01:00