Re: [PATCH V3 0/3] scsi: three SG_CHAIN related fixes

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

 



Hi Finn,

On Fri, Jun 07, 2019 at 11:02:36AM +1000, Finn Thain wrote:
> On Thu, 6 Jun 2019, Martin K. Petersen wrote:
> 
> > 
> > Ming,
> > 
> > > Guenter reported scsi boot issue caused by commit c3288dd8c232 ("scsi:
> > > core: avoid pre-allocating big SGL for data").
> > 
> > Applied to 5.3/scsi-queue, thank you!
> > 
> 
> Thanks, that seems to fix the esp_scsi regression.
> 
> Am I right in thinking that commit c3288dd8c232 ("scsi: core: avoid 
> pre-allocating big SGL for data") has the effect that any scsi host with 
> sg_tablesize > 2 must now support chained sg lists?

Yeah, every driver should support chained SGL, in theory.

> 
> In commit 4af14d113bcf ("[PATCH] scsi: remove the use_clustering flag"), I 
> read that "setting the dma_boundary to PAGE_SIZE - 1 and the 
> max_segment_size to PAGE_SIZE" is sufficient to inhibit clustering. Is 
> that sufficient to inhibit chained sg lists for LLDs?

clustering just means that every segment(sg) can't cross page boundary, and
it is nothing to do with chained sg lists.

> 
> Does it follow that #define SCSI_INLINE_SG_CNT 2 is now the upper bound 
> for sg list entries (clamping sg_tablesize) for those LLDs (regardless 
> support for chained sg lists)?

No, 2 just means that size of the pre-allocated SGL.

> 
> Does commit c3288dd8c232 have similar implications for any LLD running on 
> an architecture with CONFIG_ARCH_NO_SG_CHAIN=y?

As you saw in this patch, SCSI_INLINE_SG_CNT becomes 0 on any ARCH
with CONFIG_ARCH_NO_SG_CHAIN=y.

Thanks,
Ming



[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