Andrea Mazzoleni
e5ab577b6d
Add the new makesan.sh script and some more comments
2016-01-09 11:19:53 +01:00
Andrea Mazzoleni
9430106c71
Allow to disable inline assembly from configure
...
This is required for the -fsanitize options that don't
support inline assembly statements.
2016-01-09 11:19:52 +01:00
Andrea Mazzoleni
56a27b394f
Extend the multithread regression test
2016-01-09 11:19:52 +01:00
Andrea Mazzoleni
f93b1845f5
Add support for various sanitizers
2016-01-09 11:19:52 +01:00
Andrea Mazzoleni
da5ef977e3
Add the no-warnings option in the regression test
2016-01-09 11:19:52 +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
d71b1b21b6
Always print the CPU value, even if 0%
...
In dry, it's really 0.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
c870b04b66
Refactor locks use in support
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
ec5b383c1d
Add support for multithread data and parity reading in dry
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
e15b5b122c
Remove the unnecessary parity_ptr variable in dry
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
da5be1c5a7
Reduce memory occupation for MT
...
The copy buffer doesn't need a copy for each thread.
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
fa635f72b8
In the check log write status:correct only in verbose mode
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
e69e8640ce
Use pread also in import and search
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
18cc80bd7e
Now pread and pwrite use is required for multithread
...
We need to support concurrent access at the same file handle
from multiple threads, and they cannot share the same file pointer.
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
d9f7657107
Remove the unnecessary parity_ptr variable in sync
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
0849bfc261
Use a thread-safe pread/pwrite implementation for Windows
...
This may be useful in future for concurrent calls to the same file.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
b619b9bee1
Use a faster memory test
...
We have now many buffers to test, and we need a faster test.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
55ac2b0d25
Use a lot more read-ahead buffers
...
This improves the performance even more.
2016-01-09 10:25:47 +01:00
Andrea Mazzoleni
afd29347bb
Restore the io error limit feature for multithread support
2016-01-09 10:18:14 +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
74204a42d7
Add support for multithread data reading in sync
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
Andrea Mazzoleni
3c00248aa6
Add level knownledge to parity handle
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
a279333c0b
Alternate scrub next block computation
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
2f5c6a39a9
Fix unaligned memory access in import
...
After extent conversion, the hash is not not aligned anymore,
and we cannot cast anymore to uint32.
2016-01-09 10:06:37 +01:00
Andrea Mazzoleni
9d4fd25774
Avoid a float division by zero in testing
...
In the regression testing the fake probability goes
to 0, resulting in an impossible division.
2016-01-09 10:05:57 +01:00
Andrea Mazzoleni
a45641dcc9
Add explicit conversion to unsigned from byte
...
Implicit conversion is to signed int, that may overlow,
resulting in what C considers undefined behaviour.
Better to avoid it.
2016-01-09 10:01:33 +01:00
Andrea Mazzoleni
9b918c3ca0
Some more coverage commenting
2016-01-06 00:26:24 +01:00
Andrea Mazzoleni
84f7a623ab
Be more verbose in log and messages about UUID
2016-01-05 23:35:55 +01:00
Andrea Mazzoleni
cc8ca88ecf
Add some more coverage exclusions
2016-01-05 12:23:05 +01:00
Andrea Mazzoleni
c879140663
Print the exit status of addr2line
2016-01-05 11:16:03 +01:00
Andrea Mazzoleni
fe20160958
Fix the precision field in the addr2line call
...
It must be a int type in x64.
2016-01-05 11:04:04 +01:00
Andrea Mazzoleni
51f064dbbd
Get the version even if no tag is present
...
If not tag is present, git cannot describe the commit.
In this case we want "none" version.
2016-01-05 10:59:50 +01:00
Andrea Mazzoleni
f277bf24b1
Use the new version format in makescan.sh
2016-01-04 11:11:40 +01:00
Andrea Mazzoleni
62aba9228a
Add a new test option to force parity update
2016-01-04 10:43:43 +01:00
Andrea Mazzoleni
a9701d3e7c
Add autoreconf to makescan.sh to update the version
2016-01-03 19:13:57 +01:00
Andrea Mazzoleni
109d38bc7f
Revise HISTORY
2016-01-03 19:12:47 +01:00
Andrea Mazzoleni
3c9de8fc7e
One more TODO entry
2016-01-02 18:30:25 +01:00
Andrea Mazzoleni
d796760e71
Update TODO items
2016-01-02 17:37:51 +01:00
Andrea Mazzoleni
1d7ba9a147
Fix typos in the manual
2016-01-02 16:57:02 +01:00
Andrea Mazzoleni
5249f9cb04
Fix various typos in comments
2016-01-02 16:52:20 +01:00
Andrea Mazzoleni
6220e4a5e2
By default deploy Windows debug binaries
2016-01-02 15:38:19 +01:00
Andrea Mazzoleni
458611540d
Make the use of libblkid optional in configuration
2016-01-02 15:14:46 +01:00
Andrea Mazzoleni
646bd52668
Use fair scheduling in helgrind and drd
2016-01-02 12:25:37 +01:00