Andrea Mazzoleni
b9740e06f4
Print filenames in the stats screen
2017-11-24 22:17:24 +01:00
Andrea Mazzoleni
21241c5078
Preliminary advise support
2016-05-15 14:50:59 +02:00
Andrea Mazzoleni
8d3cefb302
Allow compilation without pthread support
2016-03-18 18:45:35 +01:00
Andrea Mazzoleni
fe3ad31cbb
Allow to disable the multithread mode
...
Use the --test-io-cache=1 option to use a special
monothread mode.
2016-03-18 18:33:11 +01:00
Andrea Mazzoleni
93f25c4bc4
Rename the io->mutex variable to io->io_mutex
...
This simplifies text search for mutexes.
2016-02-13 16:05:20 +01:00
Andrea Mazzoleni
0707b1f446
Error check all the thread operations
...
No error is expected, and this enforces that expectation.
2016-02-13 16:05:19 +01:00
Andrea Mazzoleni
3c6a7bac3e
Make the conditional variable signaling configurable at runtime
...
This allows to verify if the signaling outside the mutex gives
any performance improvment.
2016-02-13 16:05:19 +01:00
Andrea Mazzoleni
42330c05b6
In Windows use the safe signaling
...
This mostly to detect possible problems in the Windows pthread implementation
2016-02-12 19:10:01 +01:00
Andrea Mazzoleni
29ed19174f
Cleanup pthread usage
...
No functional change.
2016-02-06 15:08:11 +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