Re: [PATCH] SCSI sym53c8xx_2: bigger transfer limits

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 1 Mar 2006, Jens Axboe wrote:

> On Wed, Mar 01 2006, Kai Makisara wrote:
> > On Wed, 1 Mar 2006, Jens Axboe wrote:
> > 
> > > On Tue, Feb 28 2006, Kai Makisara wrote:
> > > > This patch enables clustering and sets max_sectors to 0xffff to enable 
> > > > reading and writing of large blocks with tapes (and large transfers with 
> > > > sg). This change is needed after the sg and st drivers started using 
> > > > chained bios through scsi_request_async() in 2.6.16.
> > > > 
> > > > Signed-off-by: Kai Makisara <kai.makisara@xxxxxxxxxxx>
> > > > 
> > > > --- linux-2.6.16-rc5/drivers/scsi/sym53c8xx_2/sym_glue.c	2006-02-04 13:25:48.000000000 +0200
> > > > +++ linux-2.6.16-rc5-k1/drivers/scsi/sym53c8xx_2/sym_glue.c	2006-02-18 09:45:24.000000000 +0200
> > > > @@ -1978,7 +1978,8 @@ static struct scsi_host_template sym2_te
> > > >  	.eh_bus_reset_handler	= sym53c8xx_eh_bus_reset_handler,
> > > >  	.eh_host_reset_handler	= sym53c8xx_eh_host_reset_handler,
> > > >  	.this_id		= 7,
> > > > -	.use_clustering		= DISABLE_CLUSTERING,
> > > > +	.use_clustering		= ENABLE_CLUSTERING,
> > > > +	.max_sectors		= 0xFFFF,
> > > 
> > > Strictly speaking, the clustering bit is unrelated.
> > 
> > It is related. The number of scatter/gather segments in the SCSI HBAs is 
> > limited. In order to fit the large requests into these limits, the 
> > adjacent pages (that have been split to bios) have to be recombined.
> 
> As James also described, you cannot rely on clustering at all to get you
> bigger requests. I'm thinking you are perhaps misunderstanding what that
> option does - it only potentially limits the number of sg segments in a
> request, if the pages happen to be physically contig. So it'll only help
> you to a certain degree, IFF the pages are indeed adjacent in memory.
> It's an extra optimization that isn't deterministic at all.
> 
The computer is deterministic. In this case we know what pages are 
physically contiguous because they have been allocated in kernel space 
with alloc_pages(). The st driver has made sure that the buffer can be 
described with the scatter/gather list supported by the SCSI HBA.

In general, you should not rely on coalescing. Here I agree with you. If 
you know what the buffer structure is, then you may be able to rely on 
coalescing.

> And it definitely is unrelated to how many sectors you can support. As
> such, these two unrelated patches should submitted seperately. The
> clustering bit is potentially more dangerous, as the hardware can have
> all sorts of 'issues' related to the size and alignment of sg segments.
> 
They are related if in the sense that both are needed in order to support 
large requests. However, I don't mind if someone splits those changes into 
two patches if both go in. Otherwise I don't recommend sym53c8xx_2 and/or 
sym53c8xx chips for any serious work any more.

> > >                                                     I seem to recall
> > > Gerard years ago talking about some sym chips that did not like
> > > clustering, hence it was disabled.
> > > 
> > Facts?
> 
> I'm just reporting what Gerald (who definitely knows this hardware very
> well) told me, when I submitted a patch to him enabling clustering a
> long time ago. This might have been about 5 years ago, I seem to recall
> it happening when I used a un ultra10 workstation which had a sym scsi
> board.
> 
A bit vague but I guess this is all we know. Unless Matthew knows more?

-- 
Kai
-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux