> Von: Ard Biesheuvel [ard.biesheuvel@xxxxxxxxxx]
> Gesendet: Donnerstag, 13. Juli 2017 19:16
> An: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-raid@xxxxxxxxxxxxxxx
> Cc: shli@xxxxxxxxxx; Markus Stockhausen; linux@xxxxxxxxxxxxxxx; will.deacon@xxxxxxx; catalin.marinas@xxxxxxx; Ard Biesheuvel
> Betreff: [PATCH 1/2] md/raid6: use faster multiplication for ARM NEON delta syndrome
>
> The P/Q left side optimization in the delta syndrome simply involves
> repeatedly multiplying a value by polynomial 'x' in GF(2^8). Given
> that 'x * x * x * x' equals 'x^4' even in the polynomial world, we
> can accelerate this substantially by performing up to 4 such operations
> at once, using the NEON instructions for polynomial multiplication.
>
> Results on a Cortex-A57 running in 64-bit mode:
>
> Before:
> -------
> raid6: neonx1 xor() 1680 MB/s
> raid6: neonx2 xor() 2286 MB/s
> raid6: neonx4 xor() 3162 MB/s
> raid6: neonx8 xor() 3389 MB/s
>
> After:
> ------
> raid6: neonx1 xor() 2281 MB/s
> raid6: neonx2 xor() 3362 MB/s
> raid6: neonx4 xor() 3787 MB/s
> raid6: neonx8 xor() 4239 MB/s
Nice optimiziation. Nevertheless the test algorithm favours this implementation. See:
int start = (disks>>1)-1, stop = disks-3; /* work on the second half of the disks */
What gives the before/after test if you work on the middle data disks and not on
the right ones? In the 4K page size this should be start = 3, stop = 11 instead of
start = 7, stop = 13. Given the large gain you see the impact should be lower but
at least in the >10% range.
Markus
> While we're at it, simplify MASK() by using a signed shift rather than
> a vector compare involving a temp register.
>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> ...
****************************************************************************
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail
irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte
Weitergabe dieser Mail ist nicht gestattet.
�ber das Internet versandte E-Mails können unter fremden Namen erstellt oder
manipuliert werden. Deshalb ist diese als E-Mail verschickte Nachricht keine
rechtsverbindliche Willenserklärung.
Collogia
Unternehmensberatung AG
Ubierring 11
D-50678 Köln
Vorstand:
Kadir Akin
Dr. Michael Höhnerbach
Vorsitzender des Aufsichtsrates:
Hans Kristian Langva
Registergericht: Amtsgericht Köln
Registernummer: HRB 52 497
This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.
e-mails sent over the internet may have been written under a wrong name or
been manipulated. That is why this message sent as an e-mail is not a
legally binding declaration of intention.
Collogia
Unternehmensberatung AG
Ubierring 11
D-50678 Köln
executive board:
Kadir Akin
Dr. Michael Höhnerbach
President of the supervisory board:
Hans Kristian Langva
Registry office: district court Cologne
Register number: HRB 52 497
****************************************************************************