Thread (68 messages) 68 messages, 8 authors, 2005-05-31

Re: Playing with SATA NCQ

From: Mark Lord <hidden>
Date: 2005-05-26 21:50:39
Also in: lkml

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.

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.

Cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help