Mangix Posted December 6, 2020 Posted December 6, 2020 Is it me or it the mv_xor driver being loaded late? ``` [ 0.007976] xor: measuring software checksum speed [ 0.164062] xor: using function: arm4regs (2534.000 MB/sec) [ 0.316068] raid6: neonx8 xor() 1096 MB/s [ 0.452063] raid6: neonx4 xor() 1378 MB/s [ 0.588069] raid6: neonx2 xor() 1610 MB/s [ 0.724066] raid6: neonx1 xor() 1346 MB/s [ 0.860075] raid6: int32x8 xor() 328 MB/s [ 0.996072] raid6: int32x4 xor() 369 MB/s [ 1.132082] raid6: int32x2 xor() 332 MB/s [ 1.268063] raid6: int32x1 xor() 285 MB/s [ 1.268067] raid6: .... xor() 1610 MB/s, rmw enabled [ 1.665163] mv_xor f1060800.xor: Marvell shared XOR driver [ 1.694139] mv_xor f1060800.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr ) [ 1.694257] mv_xor f1060900.xor: Marvell shared XOR driver [ 1.722115] mv_xor f1060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr ) ``` I see that /proc/interrupts shows no action despite me using RAID5. edit: from looking at kernel source, it seems btrfs uses xor_blocks instead of async_tx. The former seems software only. 1
aprayoga Posted December 8, 2020 Posted December 8, 2020 yes, mv_xor loaded late. i think after async_tx loaded. mdadm RAID5 use the xor engine
gprovost Posted December 14, 2020 Posted December 14, 2020 @Mangix You can check that you system effectively use mv_xor engine by looking at the interrupt counters. cat /proc/interrupts [...] 47: 27799 0 GIC-0 54 Level f1060800.xor 48: 29949 0 GIC-0 97 Level f1060900.xor You will see the counter increase when doing operation on your RAID array (FYI XOR only used for RAID5 and 6).
Recommended Posts