Skip to contentSkip to conversation

First part of getting ide-tcq in line...

PATCH Jens Axboe 1 participant 1 message May 13, 2003

lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

Hi,

Adds blacklist check for drives, and refuses to enable tcq on a drive that isn't alone on a channel.

It has been running 'beat me up' tests for half an hour now, lets see if anything shows up. I'd very much like people with IDE TCQ experience to mail me their results, both good and bad, so I can get a clear view of what the problem might be.

===== drivers/ide/ide-probe.c 1.45 vs edited =====

drivers/ide/ide-probe.c +5 -2
@@ -998,6 +998,7 @@
 static void ide_init_queue(ide_drive_t *drive)
 {
 	request_queue_t *q = &drive->queue;
+	ide_hwif_t *hwif = HWIF(drive);
 	int max_sectors = 256;
 
 	/*
@@ -1013,8 +1014,10 @@
 	drive->queue_setup = 1;
 	blk_queue_segment_boundary(q, 0xffff);
 
-	if (HWIF(drive)->rqsize)
-		max_sectors = HWIF(drive)->rqsize;
+	if (!hwif->rqsize)
+		hwif->rqsize = max_sectors;
+	if (hwif->rqsize < max_sectors)
+		max_sectors = hwif->rqsize;
 	blk_queue_max_sectors(q, max_sectors);
 
 	/* IDE DMA can do PRD_ENTRIES number of segments. */

===== drivers/ide/ide-tcq.c 1.4 vs edited =====

drivers/ide/ide-tcq.c +76 -0

107 lines not on this page · raw message

Signature · 1 line
Jens Axboe