2014-06-16 16:05:27

by Dutt, Sudeep

[permalink] [raw]
Subject: Re: [PATCH char-misc-next v2 0/8] Enable dma driver for MIC X100 Coprocessors

On Thu, 2014-05-29 at 14:23 -0700, Sudeep Dutt wrote:
> ChangeLog:
> =========
> v1 => v2:
> a) MIC bus driver cleanups and device release callback fix in patch 2,
> as per feedback from Greg Kroah-Hartman.
>
> v1: Initial post @ https://lkml.org/lkml/2014/5/27/819
>

Hi Greg/Dan,

We have addressed the feedback received so far. Please take a look at
this patch series.

Thanks,
Sudeep Dutt

> These patches are being sent to char-misc because there is a dependency
> between the patches for dma driver and other drivers.
>
> Description:
> ============
> This set of patches add support for MIC X100 dma driver.
> MIC PCIe card has a dma controller with 8 channels. These channels are
> shared between the host s/w and the card s/w. 0 to 3 are used by host
> nd 4 to 7 by card. As the dma device doesn't show up as PCIe device,
> a virtual bus called mic bus is created and virtual dma devices are
> created on it by the host/card drivers. On host the channels are private
> and used only by the host driver to transfer data for the virtio devices.
>
> Here is a higher level block diagram.
> |
> +----------+ | +----------+
> | Card OS | | | Host OS |
> +----------+ | +----------+
> |
> +-------+ +--------+ +------+ | +---------+ +--------+ +--------+
> | Virtio| |Virtio | |Virtio| | |Virtio | |Virtio | |Virtio |
> | Net | |Console | |Block | | |Net | |Console | |Block |
> | Driver| |Driver | |Driver| | |backend | |backend | |backend |
> +-------+ +--------+ +------+ | +---------+ +--------+ +--------+
> | | | | | | |
> | | | |User | | |
> | | | |------|------------|---------|-------
> +-------------------+ |Kernel +--------------------------+
> | | | Virtio over PCIe IOCTLs |
> | | +--------------------------+
> +-----------+ | | | +-----------+
> | MIC DMA | | | | | MIC DMA |
> | Driver | | | | | Driver |
> +-----------+ | | | +-----------+
> | | | | |
> +---------------+ | | | +----------------+
> |MIC virtual Bus| | | | |MIC virtual Bus |
> +---------------+ | | | +----------------+
> | | | | |
> | +--------------+ | +---------------+ |
> | |Intel MIC | | |Intel MIC | |
> +---|Card Driver | | |Host Driver | |
> +--------------+ | +---------------+-----+
> | | |
> +-------------------------------------------------------------+
> | |
> | PCIe Bus |
> +-------------------------------------------------------------+
>
> The following series of patches are partitioned as follows:
>
> Patch 1: Add mic bus and dma driver documentation.
> Author: Siva Yerramreddy
> Patch 2: Add a bus driver for virtual MIC devices.
> Authors: Siva Yerramreddy, Sudeep Dutt
> Patch 3: MIC X100 DMA Driver.
> Author: Siva Yerramreddy
> Patch 4: Add threaded irq support in host driver.
> This is needed as the dma driver uses threaded irq.
> Author: Siva Yerramreddy
> Patch 5: Use dma to transfer data between MIC and host.
> Authors: Siva Yerramreddy, Ashutosh Dixit
> Patch 6: Add threaded irq support in mic_request_card_irq.
> This is needed as the dma driver uses threaded irq.
> Author: Siva Yerramreddy
> Patch 7: Add dma device on mic bus.
> Author: Siva Yerramreddy
> Patch 8: Modify the mpss script to load/unload mic_x100_dma.ko.
> Author: Siva Yerramreddy
>
> The patches have been compiled/validated against v3.15-rc3. Tested using
> dmatest module with module parameter "threads_per_chan=60". These patches
> have also been scanned by Fengguang Wu's 0-day infrastructure and no
> issues have been reported.
>
> Thanks to Dan Williams, Vinod Koul, Jon Mason, Dave Jiang for the initial
> review.
>
> Siva Yerramreddy (7):
> misc: mic: Add mic bus and dma driver documentation
> dma: MIC X100 DMA Driver
> misc: mic: add threaded irq support in host driver
> misc: mic: add dma support in host driver
> misc: mic: add threaded irq support in card driver
> misc: mic: add dma support in card driver
> misc: mic: add support for loading/unloading dma driver
>
> Sudeep Dutt (1):
> misc: mic: add a bus driver for virtual MIC devices
>
> Documentation/mic/mic_overview.txt | 67 ++--
> Documentation/mic/mpssd/mpss | 14 +-
> drivers/dma/Kconfig | 19 +
> drivers/dma/Makefile | 1 +
> drivers/dma/mic_x100_dma.c | 774 +++++++++++++++++++++++++++++++++++++
> drivers/dma/mic_x100_dma.h | 286 ++++++++++++++
> drivers/misc/mic/Kconfig | 21 +-
> drivers/misc/mic/Makefile | 1 +
> drivers/misc/mic/bus/Makefile | 5 +
> drivers/misc/mic/bus/mic_bus.c | 219 +++++++++++
> drivers/misc/mic/card/mic_device.c | 23 +-
> drivers/misc/mic/card/mic_device.h | 9 +-
> drivers/misc/mic/card/mic_virtio.c | 7 +-
> drivers/misc/mic/card/mic_x100.c | 55 ++-
> drivers/misc/mic/host/mic_boot.c | 83 +++-
> drivers/misc/mic/host/mic_device.h | 24 ++
> drivers/misc/mic/host/mic_intr.c | 121 +++---
> drivers/misc/mic/host/mic_intr.h | 27 +-
> drivers/misc/mic/host/mic_main.c | 5 +-
> drivers/misc/mic/host/mic_virtio.c | 187 +++++++--
> drivers/misc/mic/host/mic_virtio.h | 21 +-
> drivers/misc/mic/host/mic_x100.c | 8 +
> include/linux/mic_bus.h | 112 ++++++
> 23 files changed, 1938 insertions(+), 151 deletions(-)
> create mode 100644 drivers/dma/mic_x100_dma.c
> create mode 100644 drivers/dma/mic_x100_dma.h
> create mode 100644 drivers/misc/mic/bus/Makefile
> create mode 100644 drivers/misc/mic/bus/mic_bus.c
> create mode 100644 include/linux/mic_bus.h
>


2014-06-30 15:41:13

by Dutt, Sudeep

[permalink] [raw]
Subject: Re: [PATCH char-misc-next v2 0/8] Enable dma driver for MIC X100 Coprocessors

On Mon, 2014-06-16 at 08:58 -0700, Sudeep Dutt wrote:
> On Thu, 2014-05-29 at 14:23 -0700, Sudeep Dutt wrote:
> > ChangeLog:
> > =========
> > v1 => v2:
> > a) MIC bus driver cleanups and device release callback fix in patch 2,
> > as per feedback from Greg Kroah-Hartman.
> >
> > v1: Initial post @ https://lkml.org/lkml/2014/5/27/819
> >
>
> Hi Greg/Dan,
>
> We have addressed the feedback received so far. Please take a look at
> this patch series.
>

Another gentle reminder to take a look at this patch series. Greg/Dan,
please let us know what we can do to speed things up here.

Thanks,
Sudeep Dutt

> > These patches are being sent to char-misc because there is a dependency
> > between the patches for dma driver and other drivers.
> >
> > Description:
> > ============
> > This set of patches add support for MIC X100 dma driver.
> > MIC PCIe card has a dma controller with 8 channels. These channels are
> > shared between the host s/w and the card s/w. 0 to 3 are used by host
> > nd 4 to 7 by card. As the dma device doesn't show up as PCIe device,
> > a virtual bus called mic bus is created and virtual dma devices are
> > created on it by the host/card drivers. On host the channels are private
> > and used only by the host driver to transfer data for the virtio devices.
> >
> > Here is a higher level block diagram.
> > |
> > +----------+ | +----------+
> > | Card OS | | | Host OS |
> > +----------+ | +----------+
> > |
> > +-------+ +--------+ +------+ | +---------+ +--------+ +--------+
> > | Virtio| |Virtio | |Virtio| | |Virtio | |Virtio | |Virtio |
> > | Net | |Console | |Block | | |Net | |Console | |Block |
> > | Driver| |Driver | |Driver| | |backend | |backend | |backend |
> > +-------+ +--------+ +------+ | +---------+ +--------+ +--------+
> > | | | | | | |
> > | | | |User | | |
> > | | | |------|------------|---------|-------
> > +-------------------+ |Kernel +--------------------------+
> > | | | Virtio over PCIe IOCTLs |
> > | | +--------------------------+
> > +-----------+ | | | +-----------+
> > | MIC DMA | | | | | MIC DMA |
> > | Driver | | | | | Driver |
> > +-----------+ | | | +-----------+
> > | | | | |
> > +---------------+ | | | +----------------+
> > |MIC virtual Bus| | | | |MIC virtual Bus |
> > +---------------+ | | | +----------------+
> > | | | | |
> > | +--------------+ | +---------------+ |
> > | |Intel MIC | | |Intel MIC | |
> > +---|Card Driver | | |Host Driver | |
> > +--------------+ | +---------------+-----+
> > | | |
> > +-------------------------------------------------------------+
> > | |
> > | PCIe Bus |
> > +-------------------------------------------------------------+
> >
> > The following series of patches are partitioned as follows:
> >
> > Patch 1: Add mic bus and dma driver documentation.
> > Author: Siva Yerramreddy
> > Patch 2: Add a bus driver for virtual MIC devices.
> > Authors: Siva Yerramreddy, Sudeep Dutt
> > Patch 3: MIC X100 DMA Driver.
> > Author: Siva Yerramreddy
> > Patch 4: Add threaded irq support in host driver.
> > This is needed as the dma driver uses threaded irq.
> > Author: Siva Yerramreddy
> > Patch 5: Use dma to transfer data between MIC and host.
> > Authors: Siva Yerramreddy, Ashutosh Dixit
> > Patch 6: Add threaded irq support in mic_request_card_irq.
> > This is needed as the dma driver uses threaded irq.
> > Author: Siva Yerramreddy
> > Patch 7: Add dma device on mic bus.
> > Author: Siva Yerramreddy
> > Patch 8: Modify the mpss script to load/unload mic_x100_dma.ko.
> > Author: Siva Yerramreddy
> >
> > The patches have been compiled/validated against v3.15-rc3. Tested using
> > dmatest module with module parameter "threads_per_chan=60". These patches
> > have also been scanned by Fengguang Wu's 0-day infrastructure and no
> > issues have been reported.
> >
> > Thanks to Dan Williams, Vinod Koul, Jon Mason, Dave Jiang for the initial
> > review.
> >
> > Siva Yerramreddy (7):
> > misc: mic: Add mic bus and dma driver documentation
> > dma: MIC X100 DMA Driver
> > misc: mic: add threaded irq support in host driver
> > misc: mic: add dma support in host driver
> > misc: mic: add threaded irq support in card driver
> > misc: mic: add dma support in card driver
> > misc: mic: add support for loading/unloading dma driver
> >
> > Sudeep Dutt (1):
> > misc: mic: add a bus driver for virtual MIC devices
> >
> > Documentation/mic/mic_overview.txt | 67 ++--
> > Documentation/mic/mpssd/mpss | 14 +-
> > drivers/dma/Kconfig | 19 +
> > drivers/dma/Makefile | 1 +
> > drivers/dma/mic_x100_dma.c | 774 +++++++++++++++++++++++++++++++++++++
> > drivers/dma/mic_x100_dma.h | 286 ++++++++++++++
> > drivers/misc/mic/Kconfig | 21 +-
> > drivers/misc/mic/Makefile | 1 +
> > drivers/misc/mic/bus/Makefile | 5 +
> > drivers/misc/mic/bus/mic_bus.c | 219 +++++++++++
> > drivers/misc/mic/card/mic_device.c | 23 +-
> > drivers/misc/mic/card/mic_device.h | 9 +-
> > drivers/misc/mic/card/mic_virtio.c | 7 +-
> > drivers/misc/mic/card/mic_x100.c | 55 ++-
> > drivers/misc/mic/host/mic_boot.c | 83 +++-
> > drivers/misc/mic/host/mic_device.h | 24 ++
> > drivers/misc/mic/host/mic_intr.c | 121 +++---
> > drivers/misc/mic/host/mic_intr.h | 27 +-
> > drivers/misc/mic/host/mic_main.c | 5 +-
> > drivers/misc/mic/host/mic_virtio.c | 187 +++++++--
> > drivers/misc/mic/host/mic_virtio.h | 21 +-
> > drivers/misc/mic/host/mic_x100.c | 8 +
> > include/linux/mic_bus.h | 112 ++++++
> > 23 files changed, 1938 insertions(+), 151 deletions(-)
> > create mode 100644 drivers/dma/mic_x100_dma.c
> > create mode 100644 drivers/dma/mic_x100_dma.h
> > create mode 100644 drivers/misc/mic/bus/Makefile
> > create mode 100644 drivers/misc/mic/bus/mic_bus.c
> > create mode 100644 include/linux/mic_bus.h
> >
>
>

2014-06-30 16:27:34

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH char-misc-next v2 0/8] Enable dma driver for MIC X100 Coprocessors

On Mon, Jun 30, 2014 at 08:33:53AM -0700, Sudeep Dutt wrote:
> On Mon, 2014-06-16 at 08:58 -0700, Sudeep Dutt wrote:
> > On Thu, 2014-05-29 at 14:23 -0700, Sudeep Dutt wrote:
> > > ChangeLog:
> > > =========
> > > v1 => v2:
> > > a) MIC bus driver cleanups and device release callback fix in patch 2,
> > > as per feedback from Greg Kroah-Hartman.
> > >
> > > v1: Initial post @ https://lkml.org/lkml/2014/5/27/819
> > >
> >
> > Hi Greg/Dan,
> >
> > We have addressed the feedback received so far. Please take a look at
> > this patch series.
> >
>
> Another gentle reminder to take a look at this patch series. Greg/Dan,
> please let us know what we can do to speed things up here.

Wait for me to get back from vacation next week :)

greg k-h

2014-06-30 19:11:39

by Dutt, Sudeep

[permalink] [raw]
Subject: Re: [PATCH char-misc-next v2 0/8] Enable dma driver for MIC X100 Coprocessors

On Mon, 2014-06-30 at 09:27 -0700, Greg Kroah-Hartman wrote:
> On Mon, Jun 30, 2014 at 08:33:53AM -0700, Sudeep Dutt wrote:
> > On Mon, 2014-06-16 at 08:58 -0700, Sudeep Dutt wrote:
> > > On Thu, 2014-05-29 at 14:23 -0700, Sudeep Dutt wrote:
> > > > ChangeLog:
> > > > =========
> > > > v1 => v2:
> > > > a) MIC bus driver cleanups and device release callback fix in patch 2,
> > > > as per feedback from Greg Kroah-Hartman.
> > > >
> > > > v1: Initial post @ https://lkml.org/lkml/2014/5/27/819
> > > >
> > >
> > > Hi Greg/Dan,
> > >
> > > We have addressed the feedback received so far. Please take a look at
> > > this patch series.
> > >
> >
> > Another gentle reminder to take a look at this patch series. Greg/Dan,
> > please let us know what we can do to speed things up here.
>
> Wait for me to get back from vacation next week :)
>

Sounds good. I do see a minor conflict in patch 3 with v3.16-rc1 which
can be fixed up with a trivial Makefile change for adding the driver to
the end of the file. Please let me know if you want me to resend the
patch series with that fixed up.

Thanks,
Sudeep Dutt