AW: [PATCH] lib/raid6: possibly use different gen and xor algorithms.,

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Von: Hristo Venev [hristo@xxxxxxxxxx]
> Gesendet: Samstag, 23. Februar 2019 22:21
> An: Jens Axboe
> Cc: NeilBrown; Markus Stockhausen; linux-raid@xxxxxxxxxxxxxxx
> Betreff: [PATCH] lib/raid6: possibly use different gen and xor algorithms.,
> 
> The performance measurement of xor() was introduced in fe5cbc6e06c7d8b3, but
> its result was unused.  Given that all implementations should give the same
> output, it makes sense to use the best function for each operation.
 
Hi Hristo,

I just want to remind that the xor function speed test might be a bit tricky.
While the generation always must calulate the full stripe, the xor pages
vary from request to request. 

You can play around with the start/stop values to get a better idea if the
xor function will be comparable for different test setups. E.g

int start = 0, stop = (disks>>1)-1;

Best regards.

Markus

> For example, on my machine more unrolling can benefit gen but not xor:
> 
> raid6: sse2x1   gen()  9560 MB/s
> raid6: sse2x1   xor()  7021 MB/s
> raid6: sse2x2   gen() 11741 MB/s
> raid6: sse2x2   xor()  8111 MB/s
> raid6: sse2x4   gen() 13801 MB/s
> raid6: sse2x4   xor()  8002 MB/s
> raid6: avx2x1   gen() 19298 MB/s
> raid6: avx2x1   xor() 13780 MB/s
> raid6: avx2x2   gen() 23303 MB/s
> raid6: avx2x2   xor() 15258 MB/s
> raid6: avx2x4   gen() 27255 MB/s
> raid6: avx2x4   xor() 14617 MB/s
> raid6: using algorithm avx2x4 gen() 27255 MB/s
> raid6: and algorithm avx2x2 xor() 15258 MB/s, rmw enabled
> 
> Signed-off-by: Hristo Venev <hristo@xxxxxxxxxx>
> ...



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux