Re: [PATCH] st: don't doublefree pages from scatterlist

From: Kai Makisara
Date: Sat Feb 04 2006 - 07:06:45 EST


On Fri, 3 Feb 2006, Hugh Dickins wrote:

> On Fri, 3 Feb 2006, Mike Christie wrote:
...
> > I ask becuase in that kernel the scatterlist passed into scsi_execute_async
> >
> > if (scsi_execute_async(STp->device, cmd, direction,
> > &((STp->buffer)->sg[0]), bytes,
> >
> > is not the same one that gets send down to the device/HBA.
>
> Wow, great info, thanks.
>
> > scsi_execute_async takes the scatterlist passed to it from st or sg, uses it
> > as a hint to build a request + bios, then later when the request is sent to
> > the device a new scatterlist is sent to the device and the device does the
> > pci/dma operation on that scatterlist from the block/scsi layer.
>
> Very interesting. James can confirm, but I think that means everybody
> can ignore my drivers/scsi/st.c patch for 2.6.16-rc, and the unposted
> sg.c patches for the same issue that I was going to send Doug.
>
The patch st is not necessary now but I don't think it would be a bad idea
to include it anyway. My reasoning is based on that the patch is very
inexpensive, it basically moves freeing of an array to another place.
The reasons for inclusion are:
- someone reviewing the code may wonder why the change to 2.6.15.x is
not in 2.6.x >= 16; 2.6.16 would need at least a comment about this
- it does decouple st from any dependencies about what happens to
the s/g array at the lower levels
- if the s/g array will at some future time be again passed directly to
dma mapping, we would not face the problem again

I don't have any firm opinion either way.

--
Kai
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/