Hi, the last days I tried to understand the RAID6 logic when recalculating P/Q parity (or syndrome) if only parts of a stripe are updated. As far as I get the current implementation right it will always read the whole stripe and build parities from scratch. E.g. updating a single chunk on a 10 disk RAID6 will read the other 7 data blocks to write the block plus 2 P/Q parities afterwards. Compared to the best case 3 read plus 3 write operations this can be quite a heavy impact. RAID5 at least has a shortcut for that. Being no specialist at all - but having some ideas - I would like to get some feedback about the following way to improve the scenario. 1) Write a modified gen_syndrome function (call it xor_syndrome) like in lib/raid6/xxx.c that allows to XOR an existing P/Q parity without overwriting it. The cost of that function would be the same as it only changes a few assembler commands. 2) Enhance the ops_run_prexor to call this xor_syndrome function for an RAID6. Fill the not relevant pages (R5_wantdrain) with an empty page or NULL. So the gen_syndrome will only find zeroes. With this call P/Q will have a pre-xored version. 3) Enhance ops_run_reconstruct6 to allow processing of changed blocks only. We will call xor_snydrome from there too, to XOR the prexored P/Q once again. 4) Enhance handle_stripe_dirtying so it will allow calculation of RCW versus RMW costs for the RAID6 case. Did I miss something? And if not: Will the doubled CPU consumption for P/Q calculation justify that way of implementation? At least we can avoid IOs on slow disks. Maybe it has been discussed before but I did not find it on the mailing list. Thanks in advance. Markus
**************************************************************************** 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 ****************************************************************************