From: Suwan Kim <suwan.kim027@gmail.com>
To: shuah <shuah@kernel.org>
Cc: valentina.manea.m@gmail.com, stern@rowland.harvard.edu,
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 0/2] usbip: Implement SG support
Date: Sun, 21 Jul 2019 18:01:29 +0900 [thread overview]
Message-ID: <20190721090129.GA13527@localhost.localdomain> (raw)
In-Reply-To: <7eaaf016-8da5-6089-fe19-bf62c3bbe187@kernel.org>
On Fri, Jul 19, 2019 at 04:04:20PM -0600, shuah wrote:
> On 7/5/19 10:43 AM, Suwan Kim wrote:
> > There are bugs on vhci with usb 3.0 storage device. Originally, vhci
> > doesn't supported SG, so USB storage driver on vhci breaks SG list
> > into multiple URBs and it causes error that a transfer got terminated
> > too early because the transfer length for one of the URBs was not
> > divisible by the maxpacket size.
> >
> > To support SG, vhci doesn't map and unmap URB for DMA to use native
> > SG list (urb->num_sgs). In DMA mapping function of vhci, it sets
> > URB_DMA_MAP_SG flag in urb->transfer_flags if URB has SG list and
> > this flag will tell the stub driver to use SG list.
> >
> > In this patch, vhci basically support SG and it sends each SG list
> > entry to the stub driver. Then, the stub driver sees the total length
> > of the buffer and allocates SG table and pages according to the total
> > buffer length calling sgl_alloc(). After the stub driver receives
> > completed URB, it again sends each SG list entry to vhci.
> >
> > If HCD of the server doesn't support SG, the stub driver breaks a
> > single SG reqeust into several URBs and submit them to the server's
> > HCD. When all the split URBs are completed, the stub driver
> > reassembles the URBs into a single return command and sends it to
> > vhci.
> >
> > Alan fixed vhci bug with the USB 3.0 storage device by modifying
> > USB storage driver.
> > ("usb-storage: Set virt_boundary_mask to avoid SG overflows")
> > But the fundamental solution of it is to add SG support to vhci.
> >
> > This patch works well with the USB 3.0 storage devices without Alan's
> > patch, and we can revert Alan's patch if it causes some troubles.
> >
> > Suwan Kim (2):
> > usbip: Skip DMA mapping and unmapping for urb at vhci
> > usbip: Implement SG support to vhci
> >
> > drivers/usb/usbip/stub.h | 7 +-
> > drivers/usb/usbip/stub_main.c | 52 +++++---
> > drivers/usb/usbip/stub_rx.c | 207 ++++++++++++++++++++++---------
> > drivers/usb/usbip/stub_tx.c | 108 +++++++++++-----
> > drivers/usb/usbip/usbip_common.c | 60 +++++++--
> > drivers/usb/usbip/vhci_hcd.c | 29 ++++-
> > drivers/usb/usbip/vhci_tx.c | 49 ++++++--
> > 7 files changed, 391 insertions(+), 121 deletions(-)
> >
>
> Hi Suwan,
>
> I have been traveling and would like to test this series before I ask
> Greg to pick it up.
>
> Just a quick note that I will get to this early next week.
Ok. Thank you for reviewing the patch, Shuah.
Please let me know if you have any problems reviewing the patch :)
Regards
Suwan Kim
prev parent reply other threads:[~2019-07-21 9:01 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-05 16:43 [PATCH v2 0/2] usbip: Implement SG support Suwan Kim
2019-07-05 16:43 ` [PATCH v2 1/2] usbip: Skip DMA mapping and unmapping for urb at vhci Suwan Kim
2019-07-22 20:26 ` shuah
2019-07-23 13:40 ` Suwan Kim
2019-07-05 16:43 ` [PATCH v2 2/2] usbip: Implement SG support to vhci Suwan Kim
2019-07-23 3:51 ` shuah
2019-07-23 13:56 ` Suwan Kim
2019-07-24 0:21 ` shuah
2019-07-29 14:52 ` Suwan Kim
2019-07-29 16:32 ` shuah
2019-08-01 6:38 ` Suwan Kim
2019-08-01 14:03 ` shuah
2019-08-02 7:41 ` Suwan Kim
2019-08-02 13:33 ` shuah
2019-08-02 16:46 ` Suwan Kim
2019-07-19 22:04 ` [PATCH v2 0/2] usbip: Implement SG support shuah
2019-07-21 9:01 ` Suwan Kim [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190721090129.GA13527@localhost.localdomain \
--to=suwan.kim027@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=shuah@kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=valentina.manea.m@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.