Re: Patch?: linux-2.5.2-pre9/drivers/block/ll_rw_blk.c blk_rq_map_sg simplification

Adam J. Richter (adam@yggdrasil.com)
Mon, 7 Jan 2002 05:23:28 -0800


>>> = Adam Richter (adam@yggdrasil.com)
>> = Jens Axboe (axboe@suse.de)
> = Dave Jones (davej@suse.de)
>>> The following patch removes gotos from blk_rq_map_sg, making
>>> it more readable and five lines shorter. I think the compiler should
>>> generate the same code. I have not tested this other than to
>>> verify that it compiles.
>> Well, I really think the original is much more readable than the changed
>> version :-)

>I agree. Upon seeing the patch, I was reminded of the monster
>enormous conditional at http://gcc.gnu.org/projects/beginner.html
>not quite _that_ bad, but getting there 8)

The conditional is one level deep (it's just a list of
"and" conjunctions) and has a single conceptual meaning, "are
the segments joinable?" For what it's worth, I really could not
understand the old version until I rewrote it without gotos.

Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104
adam@yggdrasil.com \ / San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/