Commit graph

19 commits

Author SHA1 Message Date
Andrea Mazzoleni
541665db46 Use a single scheduling point for sync 2016-01-31 19:00:01 +01:00
Andrea Mazzoleni
d2bad33af8 Rework the internal organization of the IO module
No functional change.
2016-01-31 19:00:00 +01:00
Andrea Mazzoleni
24adff6203 Add a real-time scheduling using SCHED_FIFO
At now it's disabled as it doesn't seem to improve performance.
2016-01-31 18:59:17 +01:00
Andrea Mazzoleni
62a760a42b Change two wrong block_off_t types 2016-01-31 18:58:02 +01:00
Andrea Mazzoleni
252d613eae Print stats of the number of cached blocks 2016-01-27 20:37:31 +01:00
Andrea Mazzoleni
377352e64f Default to 8 MiB of blocks for the IO cache 2016-01-20 22:03:14 +01:00
Andrea Mazzoleni
e2c4399e28 More precise disk usage time
When we wait, we now count the time for all the waiting disks,
and not only for the first one that finish.
2016-01-20 21:30:00 +01:00
Andrea Mazzoleni
2156c864b7 Remove the shadow 'index' variable with older gcc 2016-01-18 22:58:00 +01:00
Andrea Mazzoleni
9ade11483e Fix some misuses of the MiB and MB units 2016-01-16 07:29:00 +01:00
Andrea Mazzoleni
7cb33cc046 Add the new --test-io-cache option to control the cache size 2016-01-11 18:54:53 +01:00
Andrea Mazzoleni
2e12b10590 Signal condition variables outside the lock
This reduces the number of context switches, because the
signaled thread can start immediately.

Some interesting discussion is at:

Condvars: signal with mutex locked or not?
http://www.domaigne.com/blog/computing/condvars-signal-with-mutex-locked-or-not/

Calling pthread_cond_signal without locking mutex
4544494 (4544494)
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
8e47e2b024 Signal the 'done' condition only at the waiting index
This reduces the number of context switches.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
22d806a04f Minor beatification at the IO module 2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
fb404ef149 Print the amount of memory used for MT 2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
4191989fa7 Restore error reporting for parity write 2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
a3121c31c5 Add support for multithread parity writing in sync 2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
62b7587c3a IO functions renaming to prepare for parity write support
No functional change.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
cbf2040b89 Add mutex protection at the filesystem structure
In sync we need to modify the filesystem, like to call
fs_deallocate(). We need then proper protection.
This also removes the need of multiple fs_last cached value.
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
51af8931b7 Add support for multithread data and parity reading in scrub 2016-01-09 10:18:14 +01:00