From: Jens Axboe <axboe@suse.de>
To: Mark Lord <liml@rtr.ca>
Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Playing with SATA NCQ
Date: Fri, 27 May 2005 08:28:03 +0200 [thread overview]
Message-ID: <20050527062802.GH1435@suse.de> (raw)
In-Reply-To: <42964498.9080909@rtr.ca>
On Thu, May 26 2005, Mark Lord wrote:
> I also saw a good boost from NCQ on the qstor driver (full version,
> not the libata subset) last year. Very good for busy servers
> and RAID arrays.
It does seem to work amazingly well, from a performance point of view.
> Jens Axboe wrote:
> + do {
> + /*
> + * we rely on the FIFO order of the exclusive waitqueues
> + */
> + prepare_to_wait_exclusive(&ap->cmd_wait_queue, &wait,
> + TASK_UNINTERRUPTIBLE);
> +
> + if (!ata_qc_issue_ok(ap, qc, 1)) {
> + spin_unlock_irq(&ap->host_set->lock);
> + schedule();
> + spin_lock_irq(&ap->host_set->lock);
> + }
> +
> + finish_wait(&ap->cmd_wait_queue, &wait);
> +
> + } while (!ata_qc_issue_ok(ap, qc, 1));
>
> In this bit (above), is it possible for this code to ever
> be invoked from a SCHED_RR or SCHED_FIFO context?
>
> If so, it will lock out all lower-priority processes
> for the duration of the polling interval.
Yeah, I'm not a huge fan of the need for the above code... If every qc
was tied to a SCSI command, we could just ask for a later requeue of the
request as is currently done with NCQ commands. Alternatively, we could
add an internal libata qc queue for postponing these commands. That
would take a little effort, as the sync errors reported by
ata_qc_issue() would then be need to signalled async through the
completion callback instead.
Jeff, what do you think?
--
Jens Axboe
next prev parent reply other threads:[~2005-05-27 6:27 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-26 14:00 Playing with SATA NCQ Jens Axboe
2005-05-26 16:25 ` Jeff Garzik
2005-05-26 17:07 ` Jens Axboe
2005-05-26 17:11 ` Jens Axboe
2005-05-26 17:15 ` Jeff Garzik
2005-05-26 17:33 ` Jens Axboe
2005-05-26 19:49 ` Jeff Garzik
2005-05-26 20:30 ` Jens Axboe
2005-05-27 7:20 ` Jens Axboe
2005-05-27 7:29 ` Jeff Garzik
2005-05-27 7:33 ` Jens Axboe
2005-05-27 7:51 ` Jeff Garzik
2005-05-27 8:00 ` Jens Axboe
2005-05-27 8:23 ` Jeff Garzik
2005-05-26 21:50 ` Mark Lord
2005-05-27 6:28 ` Jens Axboe [this message]
2005-05-27 6:58 ` Jeff Garzik
2005-05-27 7:15 ` Jens Axboe
2005-05-27 4:41 ` Jeff Garzik
2005-05-27 6:39 ` Jens Axboe
2005-05-27 21:40 ` Michael Thonke
2005-05-27 22:16 ` Jeff Garzik
2005-05-27 22:30 ` Michael Thonke
2005-05-28 12:12 ` Jens Axboe
2005-05-29 13:01 ` Michael Thonke
2005-05-29 14:09 ` Mark Lord
2005-05-29 14:24 ` Tyler
2005-05-29 15:22 ` Eric D. Mudama
2005-05-29 19:04 ` Jens Axboe
2005-05-29 19:05 ` Jeff Garzik
2005-05-29 19:21 ` Jens Axboe
2005-05-29 19:03 ` Jens Axboe
2005-05-29 20:12 ` Michael Thonke
2005-05-29 20:17 ` Jeff Garzik
2005-05-30 6:05 ` Jens Axboe
2005-05-30 6:07 ` Jens Axboe
2005-05-29 18:10 ` Michael Thonke
2005-05-29 19:06 ` Jens Axboe
2005-05-29 16:03 ` Erik Slagter
2005-05-29 16:34 ` Jeff Garzik
2005-05-29 16:50 ` Erik Slagter
2005-05-29 16:59 ` Jeff Garzik
2005-05-29 17:23 ` Erik Slagter
2005-05-29 17:29 ` Jeff Garzik
2005-05-29 17:45 ` Erik Slagter
2005-05-29 18:01 ` Jeff Garzik
2005-05-29 18:10 ` Erik Slagter
2005-05-29 18:14 ` Jeff Garzik
2005-05-29 18:27 ` Michael Thonke
2005-05-29 18:31 ` Jeff Garzik
2005-05-29 16:57 ` Michael Thonke
2005-05-29 17:26 ` Erik Slagter
2005-05-30 0:06 ` Mark Lord
2005-05-30 7:29 ` Erik Slagter
2005-05-30 18:09 ` Mark Lord
2005-05-30 18:22 ` Erik Slagter
2005-05-30 18:25 ` Mark Lord
2005-05-30 18:34 ` Michael Thonke
2005-05-30 18:51 ` Jeff Garzik
2005-05-30 18:48 ` Jeff Garzik
2005-05-30 18:50 ` Jeff Garzik
2005-05-30 20:03 ` Erik Slagter
2005-05-30 20:19 ` Jeff Garzik
2005-05-31 7:44 ` Erik Slagter
2005-05-30 23:14 ` Mark Lord
2005-05-31 7:48 ` Erik Slagter
2005-05-31 8:05 ` Patrick McFarland
2005-05-29 21:49 ` Michael Thonke
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=20050527062802.GH1435@suse.de \
--to=axboe@suse.de \
--cc=liml@rtr.ca \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.