From: Jens Axboe <axboe@suse.de>
To: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: Linus Torvalds <torvalds@transmeta.com>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] 2.5 ide 48-bit usage
Date: Thu, 8 May 2003 16:47:12 +0200 [thread overview]
Message-ID: <20030508144712.GB20941@suse.de> (raw)
In-Reply-To: <20030508133702.GC823@suse.de>
On Thu, May 08 2003, Jens Axboe wrote:
> > > Ditto, cannot be reliable without the taskfile changes.
> > >
> > > I won't bother with anything new until the taskfile stuff is in.
> >
> > Good decision.
>
> So what's the time frame on that?
And the more important question, how are you creating the taskfile? If
it's reachable from end_io context (and not just the submission path),
which it must be to solve the problem was are discussing here, then
surely it's not from the stack.
BTW, how about a minor compromise. See attached patch, I'd be happy with
that for now. It _is_ essentially two seperate issues, right? One is
getting good request sizes on 48-bit commands, the other is taking some
decent advantage of 48-bit commands.
diff -Nru a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
--- a/drivers/ide/ide-disk.c Thu May 8 14:32:59 2003
+++ b/drivers/ide/ide-disk.c Thu May 8 14:32:59 2003
@@ -1479,7 +1483,7 @@
static int set_lba_addressing (ide_drive_t *drive, int arg)
{
- return (probe_lba_addressing(drive, arg));
+ return probe_lba_addressing(drive, arg);
}
static void idedisk_add_settings(ide_drive_t *drive)
@@ -1565,6 +1569,18 @@
}
(void) probe_lba_addressing(drive, 1);
+
+ if (drive->addressing == 1) {
+ ide_hwif_t *hwif = HWIF(drive);
+ int max_s = 2048;
+
+ if (max_s > hwif->rqsize)
+ max_s = hwif->rqsize;
+
+ blk_queue_max_sectors(&drive->queue, max_s);
+ }
+
+ printk("%s: max request size: %dKiB\n", drive->name, drive->queue.max_sectors / 2);
/* Extract geometry if we did not already have one for the drive */
if (!drive->cyl || !drive->head || !drive->sect) {
diff -Nru a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
--- a/drivers/ide/ide-probe.c Thu May 8 14:32:59 2003
+++ b/drivers/ide/ide-probe.c Thu May 8 14:32:59 2003
@@ -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 = hwif->addressing ? 256 : 65536;
+ 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. */
--
Jens Axboe
next prev parent reply other threads:[~2003-05-08 14:34 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-07 8:49 [PATCH] 2.5 ide 48-bit usage Jens Axboe
2003-05-07 16:28 ` Linus Torvalds
2003-05-07 16:46 ` Jens Axboe
2003-05-07 17:15 ` Linus Torvalds
2003-05-07 17:33 ` Jens Axboe
2003-05-07 17:42 ` Linus Torvalds
2003-05-07 17:50 ` Jens Axboe
2003-05-07 19:58 ` Bartlomiej Zolnierkiewicz
2003-05-07 20:19 ` Jens Axboe
2003-05-08 7:56 ` Jens Axboe
2003-05-08 11:01 ` Alan Cox
2003-05-08 12:01 ` Jens Axboe
2003-05-12 21:41 ` Mike Fedyk
2003-05-13 6:44 ` Jens Axboe
2003-05-08 11:34 ` Bartlomiej Zolnierkiewicz
2003-05-08 11:59 ` Jens Axboe
2003-05-08 12:20 ` Bartlomiej Zolnierkiewicz
2003-05-08 12:26 ` Jens Axboe
2003-05-08 12:36 ` Jens Axboe
2003-05-08 13:16 ` Bartlomiej Zolnierkiewicz
2003-05-08 13:23 ` Jens Axboe
2003-05-08 13:35 ` Bartlomiej Zolnierkiewicz
2003-05-08 13:37 ` Jens Axboe
2003-05-08 14:47 ` Jens Axboe [this message]
2003-05-08 14:51 ` Jens Axboe
2003-05-08 14:46 ` Alan Cox
2003-05-08 15:49 ` Bartlomiej Zolnierkiewicz
2003-05-08 16:16 ` Jens Axboe
2003-05-08 16:27 ` Linus Torvalds
2003-05-08 16:34 ` Jens Axboe
2003-05-08 16:59 ` Bartlomiej Zolnierkiewicz
2003-05-09 7:40 ` Jens Axboe
2003-05-08 22:06 ` Alan Cox
2003-05-09 7:06 ` Jens Axboe
2003-05-09 8:28 ` [PATCH][RFC] Sanitize hwif/drive addressing (was Re: [PATCH] 2.5 ide 48-bit usage) Jens Axboe
2003-05-09 11:07 ` Bartlomiej Zolnierkiewicz
2003-05-09 12:03 ` Jens Axboe
2003-05-07 21:45 ` [PATCH] 2.5 ide 48-bit usage Henning P. Schmiedehausen
2003-05-07 22:03 ` Alan Cox
2003-05-07 22:55 ` H. Peter Anvin
2003-05-07 18:29 ` Alan Cox
2003-05-07 19:30 ` 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=20030508144712.GB20941@suse.de \
--to=axboe@suse.de \
--cc=B.Zolnierkiewicz@elka.pw.edu.pl \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.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 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.