Re: max request size 1024KiB by default?

Jens Axboe
2004-07-27T07:15:00Z

On Sat, Jul 24 2004, Lee Revell wrote:
> On Sat, 2004-07-24 at 07:27, Rudo Thomas wrote:
> > > HD info:
> > > /dev/hdc:
> > >
> > > Model=Maxtor 6Y160P0, FwRev=YAR41BW0, SerialNo=Y44K8TZE
> > > Config={ Fixed }
> > > RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
> > > BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=16
> > > CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=268435455
> > > IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
> > > PIO modes: pio0 pio1 pio2 pio3 pio4
> > > DMA modes: mdma0 mdma1 mdma2
> > > UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
> > > AdvancedPM=yes: disabled (255) WriteCache=enabled
> > > Drive conforms to: (null):
> >
>
> Your disk controller must not support that. It looks like the default
> is 1024KiB or whatever the max your controller supports is:
>
> drivers/ide/ide-disk.c:
>
> 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);
> }

It's the drive. lba28 cannot do more than 256 sectors, while lba48 can
do 65536. The controller only has an impact on this if it's buggy.

--
Jens Axboe