Re: [PATCH v2 2/2] md/raid6: fix algorithm choice under larger PAGE_SIZE

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

 



On Wed, Dec 4, 2019 at 7:13 PM Zhengyuan Liu <liuzhengyuan@xxxxxxxxxx> wrote:
>
> There are several algorithms available for raid6 to generate xor and syndrome
> parity, including basic int1, int2 ... int32 and SIMD optimized implementation
> like sse and neon.  To test and choose the best algorithms at the initial
> stage, we need provide enough disk data to feed the algorithms. However, the
> disk number we provided depends on page size and gfmul table, seeing bellow:
>
>         int __init raid6_select_algo(void)
>         {
>                 const int disks = (65536/PAGE_SIZE) + 2;
>                 ...
>         }
>
> So when come to 64K PAGE_SIZE, there is only one data disk plus 2 parity disk,
> as a result the chosed algorithm is not reliable. For example, on my arm64
> machine with 64K page enabled, it will choose intx32 as the best one, although
> the NEON implementation is better.

I think we can fix this by simply change raid6_select_algo()? We still have

#define STRIPE_SIZE             PAGE_SIZE

So testing with PAGE_SIZE represents real performance.

Thanks,
Song



[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