On Tue, Dec 8, 2009 at 6:03 AM, hank peng <pengxihan@xxxxxxxxx> wrote: > 2009/12/8 Robin Hill <robin@xxxxxxxxxxxxxxx>: >> On Tue Dec 08, 2009 at 09:49:48PM +0800, hank peng wrote: >> >>> 2009/12/8 Robin Hill <robin@xxxxxxxxxxxxxxx>: >>> > On Tue Dec 08, 2009 at 09:01:23PM +0800, hank peng wrote: >>> > >>> >> Hi, all: >>> >> As we know, when a raid5 array is created, recovery will be going on >>> >> which involves some read, one xor and one write. Since there is no >>> >> real data in the disk at the time, besides, if I am willing to wait >>> >> for recovery to complete and then use this raid5, how about adding >>> >> support for a fast recovery method? Right now, what is in my mind is >>> >> zero all disks which belong to this raid5. I think it will increase >>> >> raid5 recovery speed when created and decrease CPU usage, since all >>> >> zero is also XORed. >>> >> What do raid developers think? >>> >> >>> > It'll decrease CPU usage but increase I/O - you're now needing to write >>> > to all disks. Most systems will be I/O limited rather than CPU limited, >>> > so the current approach works better. If you want to zero the disks >>> > then do this before creating the array - you can then use --assume-clean >>> > to skip the resync process. >>> > >>> I think --assume-clean is used mostly when doing performance test and >>> can't be used when creating a raid5 array using new disk, because >>> later read and write operation make assumption that all stripe is >>> XORed. Correct me if I am wrong. >>> >> You're correct - that's why I said to zero all the disks first so the >> XOR data is all correct. >> > I think this function is better to be implemented in kernel raid > layer, not in user space(for example using dd command). > In this way, we can get good performance and lower cpu usage, also, we > can make this function be part of raid code so that it can be managed > by mdadm >> Cheers, >> Robin >> -- >> ___ >> ( ' } | Robin Hill <robin@xxxxxxxxxxxxxxx> | >> / / ) | Little Jim says .... | >> // !! | "He fallen in de water !!" | >> > > > > -- > The simplest is not all best but the best is surely the simplest! > -- > To unsubscribe from this list: send the line "unsubscribe linux-raid" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > How about documenting this better? 'zeroing all underlying devices then creating with --assume-clean' will be clean because the parity algorithm is even (or similar to 'even parity')? -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html