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