Re: [PATCH] block: fix q->max_segment_size checking inblk_recalc_rq_segments about VMERGE

From: David Miller
Date: Thu Jul 24 2008 - 17:53:48 EST


From: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Date: Thu, 24 Jul 2008 17:49:14 -0400 (EDT)

> * it is prone to bugs and hard to maintain, because the same value must be
> calculated in blk-merge.c and in architectural iommu functions --- if the
> value differs, you create too long request, corrupt kernel memory and
> crash (happened on sparc64). Anyone changing blk-merge in the future will
> risk breaking something on the architectures that use BIO_VMERGE_BOUNDARY
> --- and because these architectures are so rare, the bug will go unnoticed
> for long time --- like in the case of sparc64.

I completely agree with this point.

This VMERGE stuff is now a non-trivial maintainence burdon because
anyone who wants to hack on the block layer has to be mindful of
VMERGE but is very unlikely to have access to a system that it can
even be tested on.

And the answer isn't "James Bottomly will test your changes for you",
because that simply doesn't scale.

I still say we should definitely remove the VMERGE code. It's not
worth the maintainence hassle just for some SG chaining test rig
on some obscure platform.

I really only hear one person who really wants this code around any
more. Is that the Linux way? :-) Can't he patch it into his tree when
he needs it or write an alternative way to stress the SG chaining
code? He has the source, right? :-)))
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/