Re: Proposal: make RAID6 code optional

H. Peter Anvin
2009-04-19T02:08:36Z

Matti Aarnio wrote:
>
> I did quick "sum of symbol sizes" lookup of the raid.ko, and got
> it like this:
>
> nm -t d -n -S /lib/modules/2.6.27.21-170.2.56.fc10.x86_64/kernel/drivers/md/raid456.ko | grep raid4|awk '{print $2}'|sed -e 's/^0*//g'|awk '{sum+=$1}END{print sum}'
> ...
>
> raid4: 152
> raid5: 7165
> raid6: 75558
>
> Entire 64kB of that raid6 is single pre-initialized r/o datablock: raid6_gfmul
>
> So yes, having RAID6 personality as separate module would be appropriate for
> systems that are only interested in RAID4 or RAID5. Separating the RAID4
> personality wastes space, separating RAID5 ... barely 2 of 4k memory pages.
>

RAID 4 is really just another layout scheme for RAID 5. But yes, moving
RAID 6 to a separate module makes sense. The amount of RAID 5 code not
used by RAID 6 is fairly trivial, so the right way to do this is to have
the raid6 module depend on the raid5 module.

There used to be a raid6 module which was forked from raid5, with a lot
of duplicate code. That really made really no sense.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.