Re: [PATCH RFC 0/2] mempool based chained scatterlist alloc/free api api

From: Ming Lin
Date: Wed Mar 16 2016 - 01:19:03 EST


On Tue, 2016-03-15 at 16:12 -0700, James Bottomley wrote:
> On Tue, 2016-03-15 at 15:39 -0700, Ming Lin wrote:
> > From: Ming Lin <ming.l@xxxxxxxxxxxxxxx>
> >
> > Hi list,
> >
> > This moves the mempool based chained scatterlist alloc/free code
> > from
> > scsi_lib.c to lib/scatterlist.c.
> >
> > So other drivers(for example, the under development NVMe over
> > fabricÂ
> > drivers) can also use it.
> >
> > Ming Lin (2):
> > Â scatterlist: add mempool based chained SG alloc/free api
> > Â scsi: use the new chained SG api
> >
> > Âdrivers/scsi/scsi_lib.cÂÂÂÂÂ| 129 ++----------------------------
> > ------
> > Âinclude/linux/scatterlist.h |ÂÂ12 ++++
> > Âlib/scatterlist.cÂÂÂÂÂÂÂÂÂÂÂ| 156
> > ++++++++++++++++++++++++++++++++++++++++++++
> > Â3 files changed, 175 insertions(+), 122 deletions(-)
>
> I'd really rather this were a single patch so git can tell us the
> code
> motion.ÂÂIf you add in one patch and remove in another the code
> motion
> trackers don't see it.
>
> Secondly, you said "This copied code from scsi_lib.c to scatterlist.c
> and modified it a bit" could you move in one patch and modify in
> another, so we can see exactly what you're changing.

The modification is mostly about structure names and function names
changes.

I can do it in a single patch.

>
> Thirdly, are you sure the pool structure for NVMe should be the same
> as
> for SCSI?ÂÂWe don't do buddy pools for 1,2 or 4 entry transactions in
> SCSI just basically because of heuristics, but the packetised io
> characteristics of NVMe make single entry lists more likely for it,
> don't they?

Not sure about this, but the nvme-pci driver may not use this api,
because it also has a PRP lists except for the SG lists.

But nvme-over-rdma/nvme-over-fiber-channel driver is good to use this
api.

>
> James
>
>