All of lore.kernel.org
 help / color / mirror / Atom feed
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 14:26:41 +0200	[thread overview]
Message-ID: <20030508122641.GW823@suse.de> (raw)
In-Reply-To: <Pine.SOL.4.30.0305081406310.12362-100000@mion.elka.pw.edu.pl>

On Thu, May 08 2003, Bartlomiej Zolnierkiewicz wrote:
> 
> On Thu, 8 May 2003, Jens Axboe wrote:
> 
> > On Thu, May 08 2003, Bartlomiej Zolnierkiewicz wrote:
> > >
> > > On Thu, 8 May 2003, Jens Axboe wrote:
> > > > On Wed, May 07 2003, Jens Axboe wrote:
> > > > > > Jens you your patch sets hwif->rqsize to 65535 in setup-pci.c for all
> > > > > > PCI hwifs which is simply wrong as not all of them supports LBA48.
> > > > > > You should check for hwif->addressing and if true set rqsize to 65536
> > > > > > (not 65535) and not in IDE PCI code but in ide_init_queue() in ide-probe.c.
> > > > >
> > > > > Yes you are right, that would be the best way of doing it. As it happens
> > > > > for that patch, it does not hurt or break anything. But it is certainly
> > > > > cleaner, I'll fix that up.
> > > >
> > > > That part is added, I still kept it at 65535 though akin to how we don't
> > > > use that last sector in 28-bit commands either. For 48-bit commands this
> > >
> > > No, ide_init_queue() sets it to 256, so I want 65536 too.
> >
> > Alright, I don't care enough about that 1 sector to argue.
> >
> > > Note that it should be done after setting queue max sectors to 256,
> > > because not only ide-disk depends on this code:
> > >
> > > 	max_sectors = 256;
> > >
> > > 	(...)
> > >
> > > 	/*
> > > 	 * Added "< max_sectors" check for safety if it will
> > > 	 * be called again later with rq->size = 65536.
> > > 	 * I don't believe it ever is.
> > > 	*/
> > > 	if (hwif->rqsize < max_sectors)
> > > 		max_sectors = hwif->rqsize;
> > > 	blk_queue_max_sectors(q, max_sectors);
> > > 	if (!hwif->rqsize)
> > > 		hwif->rqsize = hwif->addressing ? 65536 : 256;
> >
> > You have the logic reversed here, the hwif and drive addressing are
> > reversed. Yeah, it's convoluted, dunno who thought that logic up...
> 
> Not me.
> Logic is to prevent some bugs and actually my comment "I don't believe it
> ever is." is totally wrong.
> 
> ide_init_queue() is called for all drives on hwif.
> 
> ie. failure scenario:
> 1st drive 48-bit: !rqsize -> max_sectors = 256, rqsize = 65536
> 2nd drive 28-bit: rqsize -> max_sectors = 65536 -> doh!
> 
> so "< max_sectors" is really needed.
>
> It can look a bit saner:
> 
> 	if (!hwif->rqsize)
> 		hwif->rqsize = hwif->addressing ? 65536 : 256;
> 	if (hwif->rqsize < max_sectors)
> 		max_sectors = hwif->rqsize;
> 	blk_queue_max_sectors(q, max_sectors);

Ugh yeah, that stinks. Your changed version looks better.

> Looks good.
> Now test/review it for some time, we don't want any bugs to slip in.
> :-)

I'll give it a test spin.

-- 
Jens Axboe


  reply	other threads:[~2003-05-08 12:14 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 [this message]
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
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=20030508122641.GW823@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.