From: Tejun Heo <tj@kernel.org>
To: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
linux-ide@vger.kernel.org, rusty@rustcorp.com.au,
James.Bottomley@HansenPartnership.com, mike.miller@hp.com,
donari75@gmail.com, paul.clements@steeleye.com, tim@cyberelk.net,
Geert.Uytterhoeven@sonycom.com, davem@davemloft.net,
Laurent@lvivier.info, jgarzik@pobox.com, jeremy@xensource.com,
grant.likely@secretlab.ca, adrian@mcmen.demon.co.uk,
sfr@canb.auug.org.au, bzolnier@gmail.com,
petkovbb@googlemail.com, oakad@yahoo.com, drzeus@drzeus.cx,
dwmw2@infradead.org, Markus.Lidel@shadowconnect.com,
wein@de.ibm.com, schwidefsky@de.ibm.com, zaitcev@redhat.com,
fujita.tomonori@lab.ntt.co.jp, axboe@kernel.dk
Subject: Re: [PATCH 11/18] swim: dequeue in-flight request
Date: Sun, 17 May 2009 07:18:18 +0900 [thread overview]
Message-ID: <4A0F3BAA.1050907@kernel.org> (raw)
In-Reply-To: <4A0F1A55.8080701@ru.mvista.com>
Hello, Sergei.
Sergei Shtylyov wrote:
>> Similar response as the if/else one on the other thread. Is it really
>> any significantly better? The 'duplication' here is basically one
>> liner
>
> Not true, it's 3-liner. I wouldn't bother with one liner.
The final result is...
req = blk_fetch_request(q);
while (req) {
int err = -EIO;
That looks like one liner to me.
>> after the peek/fetch change
>
> The peek/fetch code itself is duplicated. :-/
Do you mean by inlining? Please note that blk_fetch_request() is not
inlined anymore after Fujita's bidi end_request cleanup patches.
>> and when the duplication is minimal,
>> I usually find it clearer to put the loop condition at the while
>> clause itself.
>
> No problem, we could just keep an old form of *while* loop.
>
>> If you think it's significantly better,
>
> I do hink it avoids duplicating peek/fetch code.
>
>> please go ahead and submit the patch but to me the change you're
>> proposing is
>> basically cosmetic and not even a clearly better one at that.
>
> Should probably look at the resulting assembly to see how much it's
> differrent.
Do you seriously think it's worthwhile to optimize the request loop
according to assembly generation? That sounds like a bad case of over
(micro) optimization to me. It's not gonna make any noticeable
difference and the changes you make today can be irrelevant or even
deterimental tomorrow depending on any number of parameters. Please
don't do it for performance reasons.
Thanks.
--
tejun
next prev parent reply other threads:[~2009-05-16 22:18 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-08 2:53 [GIT PATCH] block: unify request processing model and implement peek/fetch Tejun Heo
2009-05-08 2:53 ` [PATCH 01/18] ide: dequeue in-flight request Tejun Heo
2009-05-09 6:56 ` Borislav Petkov
2009-05-09 15:58 ` Bartlomiej Zolnierkiewicz
2009-05-08 2:54 ` [PATCH 02/18] mg_disk: fix queue hang / infinite retry on !fs requests Tejun Heo
2009-05-08 2:54 ` [PATCH 03/18] mg_disk: dequeue and track in-flight request Tejun Heo
2009-05-08 2:54 ` [PATCH 04/18] hd: " Tejun Heo
2009-05-08 2:54 ` [PATCH 05/18] ataflop: " Tejun Heo
2009-05-08 2:54 ` [PATCH 06/18] swim3: dequeue " Tejun Heo
2009-05-08 2:54 ` [PATCH 07/18] xsysace: " Tejun Heo
2009-05-08 2:54 ` [PATCH 08/18] paride: " Tejun Heo
2009-05-08 2:54 ` [PATCH 09/18] ps3disk: " Tejun Heo
2009-05-08 2:54 ` [PATCH 10/18] amiflop: " Tejun Heo
2009-05-08 2:54 ` [PATCH 11/18] swim: " Tejun Heo
2009-05-16 13:42 ` Sergei Shtylyov
2009-05-16 14:37 ` Tejun Heo
2009-05-16 19:56 ` Sergei Shtylyov
2009-05-16 22:18 ` Tejun Heo [this message]
2009-05-08 2:54 ` [PATCH 12/18] xd: " Tejun Heo
2009-05-08 2:54 ` [PATCH 13/18] mtd_blkdevs: " Tejun Heo
2009-05-08 2:54 ` [PATCH 14/18] jsflash: " Tejun Heo
2009-05-08 2:54 ` [PATCH 15/18] z2ram: " Tejun Heo
2009-05-16 12:54 ` Sergei Shtylyov
2009-05-16 19:58 ` Sergei Shtylyov
2009-05-08 2:54 ` [PATCH 16/18] gdrom: " Tejun Heo
2009-05-08 19:53 ` Adrian McMenamin
2009-05-08 23:43 ` Tejun Heo
2009-05-08 2:54 ` [PATCH 17/18] block: convert to dequeueing model (easy ones) Tejun Heo
2009-05-08 2:54 ` [PATCH 18/18] block: implement and enforce request peek/start/fetch Tejun Heo
2009-05-10 21:52 ` Bartlomiej Zolnierkiewicz
2009-05-10 11:28 ` [GIT PATCH] block: unify request processing model and implement peek/fetch Tejun Heo
2009-05-11 7:52 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A0F3BAA.1050907@kernel.org \
--to=tj@kernel.org \
--cc=Geert.Uytterhoeven@sonycom.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=Laurent@lvivier.info \
--cc=Markus.Lidel@shadowconnect.com \
--cc=adrian@mcmen.demon.co.uk \
--cc=axboe@kernel.dk \
--cc=bzolnier@gmail.com \
--cc=davem@davemloft.net \
--cc=donari75@gmail.com \
--cc=drzeus@drzeus.cx \
--cc=dwmw2@infradead.org \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=grant.likely@secretlab.ca \
--cc=jeremy@xensource.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mike.miller@hp.com \
--cc=oakad@yahoo.com \
--cc=paul.clements@steeleye.com \
--cc=petkovbb@googlemail.com \
--cc=rusty@rustcorp.com.au \
--cc=schwidefsky@de.ibm.com \
--cc=sfr@canb.auug.org.au \
--cc=sshtylyov@ru.mvista.com \
--cc=tim@cyberelk.net \
--cc=wein@de.ibm.com \
--cc=zaitcev@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).