> Von: linux-raid-owner@xxxxxxxxxxxxxxx > Gesendet: Mittwoch, 30. Juli 2014 23:30 > An: Markus Stockhausen > Cc: linux-raid@xxxxxxxxxxxxxxx > Betreff: Re: RAID6 - RMW logic > > On Wed, 30 Jul 2014 20:24:30 +0000 Markus Stockhausen > <stockhausen@xxxxxxxxxxx> wrote: > > > 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 > > ... > > Please see > http://comments.gmane.org/gmane.linux.raid/42559 > > Yes, this is something we probably want. > The previous effort stalled somehow. Maybe it just needs someone to start > pushing again. > > NeilBrown Hi, thanks for the link. Crawling through the modifcation I isolated two steps that we must achieve in first place to get it on track. I'm far away from implementing a full patch so I focus on what I understand. 1) Implement a generic switch so we can configure rmw/rcw handling on the fly. Without any RAID6 rmw patches yet it will simply focus on the current RAID5 implementation. Later on RAID6 can use it too and we are able to compare rmw versus rcw performance in all cases. I would name the parameter enable_rmw and default it to 1. In RAID6 case it will be ignored. -> Ok with that? 2) The previous patch was quite tricky with handling the P/Q calculation. It combined a gen_syndrome run with 2 extra xor runs. Additionally it saved P/Q delta in spare pages. Maybe to avoid patching gen_syndrome functions. I understand the discussion that the flag "subtract" and the handling of the second spare page is not easy to understand. As explained in my last mail I would enhance the syndrome functions with the option to XOR the target P/Q pages instead of only storing the calculated values. This would allow to work the same way the RAID5 shortcut does. See ops_run_prexor that uses parity page to store the interim result. >From a performance perspective I would write separate logic in /lib/raid6 by copying the existing functions. Another approach could be to change all gen_syndrome functions to xor the destination page - and empty the target page in advance for the rcw case. In all cases this patch will be quite huge but I should be easy to understand and to verify. -> Suggestions? Best regards. 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 ****************************************************************************