[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071024080549.GZ14671@kernel.dk>
Date: Wed, 24 Oct 2007 10:05:50 +0200
From: Jens Axboe <jens.axboe@...cle.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Boaz Harrosh <bharrosh@...asas.com>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Linux Kernel Development <linux-kernel@...r.kernel.org>,
mingo@...e.hu, Linux/m68k <linux-m68k@...r.kernel.org>
Subject: Re: [PATCH 09/10] Change table chaining layout
On Tue, Oct 23 2007, Linus Torvalds wrote:
> My biggest complaint right now is that a lot of users of the sg *filling*
> functions were mindlessly converted, so we have code like
>
> cryptoloop.c: sg_set_page(&sg_in, in_page);
> cryptoloop.c: sg_in.offset = in_offs;
> cryptoloop.c: sg_in.length = sz;
>
> which is just really stupid, and we should have a function for that. But
> worse is code like this:
>
> ub.c: sg_set_page(sg, virt_to_page(sc->top_sense));
> ub.c: sg->offset = (unsigned long)sc->top_sense & (PAGE_SIZE-1);
> ub.c: sg->length = UB_SENSE_SIZE;
>
> which again was converted "line by line" and we actually *do* have a
> function to do the above three lines as
>
> sg_set_buf(sg, sc->top_sense, UB_SENSE_SIZE);
>
> where that *single* line is just tons shorter but more importantly, more
> readable, than the mess that is a brute-force conversion.
I modified sg_set_page() to take a length and offset argument, and
converted these silly sg_set_page(.., virt_to_page(foo)) to just use
sg_set_buf() instead:
30 files changed, 93 insertions(+), 152 deletions(-)
and it's definitely a win. Added to the pending bits...
--
Jens Axboe
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists