From: Luben Tuikov <luben@splentec.com>
To: Patrick Mansfield <patmans@us.ibm.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>,
linux-scsi@vger.kernel.org
Subject: Re: [PATCH] 2.5.x use list_head to handle scsi starved request queues
Date: Fri, 21 Mar 2003 15:48:26 -0500 [thread overview]
Message-ID: <3E7B7A9A.6030007@splentec.com> (raw)
In-Reply-To: 20030320203912.A18471@beaverton.ibm.com
Patrick Mansfield wrote:
>
> Okay, the comments are not clear, and don't match the code, I'll remove
> them rather than try to get something terse and meaningful.
No, please -- you don't have to go from one extreme to the other.
Comments are good, please put some, just make sure that they don't tell
things which can already be determined like int a; /* integer counter */,
but something like int a; /* number of customers served */, i.e. portray
the meaning.
>>Why don't you *first* hit the ``q'' queue and unlock it and then, i.e. afterwards,
>>go over starved_list.
>>
>>Or you can do it the other way around, i.e. assume prioritization, which I strongly
>>advise *against* -- the _caller_ may have handled prioritization already.
>
>
> I'm trying to give priority to scsi_devices that have not been able to
> send IO. If we call __blk_run_queue(q) first, one busy scsi_device could
> starve all other scsi_devices on an adapter.
Ok, then go over the list of starved scsi devices FIRST, hit their queues,
and THEN after this, get the lock for the queue and hit it.
I.e. keep the queue lock for the shortest amount of time.
> I don't see how the caller can have a priority (across scsi_devices), as
> there is no priorizitation across different request queues. The blk layer
> should already have prioritized/sorted the request (per request queue).
What I meant is: all this is happening inside scsi_queue_next_request().
Now, since this function takes as an argument a request queue, it is possible
though unlikely, that the caller is calling this function for a set of
request queues in order of giver criterium.
In this respect I said that it could have already been prioritized.
--
Luben
next prev parent reply other threads:[~2003-03-21 20:48 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-20 2:27 [PATCH] 2.5.x use list_head to handle scsi starved request queues Patrick Mansfield
2003-03-20 20:05 ` Luben Tuikov
2003-03-21 4:39 ` Patrick Mansfield
2003-03-21 20:48 ` Luben Tuikov [this message]
2003-03-22 0:50 ` Patrick Mansfield
2003-03-24 17:12 ` Luben Tuikov
2003-03-24 19:29 ` Patrick Mansfield
2003-03-24 20:20 ` Luben Tuikov
2003-03-24 20:25 ` Jens Axboe
2003-03-24 20:38 ` Patrick Mansfield
2003-03-24 21:25 ` Luben Tuikov
2003-03-24 21:56 ` Patrick Mansfield
2003-03-24 22:15 ` Luben Tuikov
2003-03-24 21:30 ` Luben Tuikov
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=3E7B7A9A.6030007@splentec.com \
--to=luben@splentec.com \
--cc=James.Bottomley@steeleye.com \
--cc=linux-scsi@vger.kernel.org \
--cc=patmans@us.ibm.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