From: Marcel Holtmann <marcel@holtmann.org>
To: Vikram Kandukuri <Vikram.Kandukuri@Atheros.com>
Cc: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Subject: RE: [PATCH] Bluetooth: Improve the throughput by increasing the frame size.
Date: Fri, 19 Jun 2009 11:29:51 +0200 [thread overview]
Message-ID: <1245403791.15367.43.camel@violet> (raw)
In-Reply-To: <44EE5C37ADC36343B0625A05DD408C485068E39EE6@CHEXMB-01.global.atheros.com>
Hi Vikram,
> > This patch increases the receive buffer size to HCI_MAX_FRAME_SIZE
> > which improves the Rx throughput considerably.
> >
> > Signed-off-by: Vikram Kandukuri <Vikram.Kandukuri@atheros.com>
> > ---
> > drivers/bluetooth/btusb.c | 4 +---
> > 1 files changed, 1 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> > index e70c57e..124db8c 100644
> > --- a/drivers/bluetooth/btusb.c
> > +++ b/drivers/bluetooth/btusb.c
> > @@ -301,7 +301,7 @@ static int btusb_submit_bulk_urb(struct hci_dev *hdev, gfp_t mem_flags)
> > struct urb *urb;
> > unsigned char *buf;
> > unsigned int pipe;
> > - int err, size;
> > + int err, size = HCI_MAX_FRAME_SIZE;
> >
> > BT_DBG("%s", hdev->name);
> >
> > @@ -312,8 +312,6 @@ static int btusb_submit_bulk_urb(struct hci_dev *hdev, gfp_t mem_flags)
> > if (!urb)
> > return -ENOMEM;
> >
> > - size = le16_to_cpu(data->bulk_rx_ep->wMaxPacketSize);
> > -
>
> and we can ignore the wMaxPacketSize because. It would be nice to get a
> reason here and that this has been tested at least with a handful of
>
> When we are testing PAN profile with throughput run, we observed low rx throughput. We have referred hci_usb.c and found they have used HCI_MAX_FRAME_SIZE. This increases the bulk endpoint size to 1028 bytes.
>
> This change gave significant (around 40%) increase in performance (increase from .8 to 1.5 Mb/s in shield room)
>
> We have tested with BRM/Atheros/CSR USB dongles with PAN profile.
> We have tested with iperf and Chariot scripts. Let me know if you need more information.
I was more looking into the argument that the btusb driver doesn't have
to handle wMaxPacketSize, because the USB host controller will split
URBs accordingly anyway. Is this true for only bulk URBs? Or also for
interrupt and isoc URBs?
Regards
Marcel
next prev parent reply other threads:[~2009-06-19 9:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-20 6:12 [PATCH] Bluetooth: Improve the throughput by increasing the frame size Vikram Kandukuri
2009-06-19 8:21 ` Marcel Holtmann
2009-06-19 8:39 ` Vikram Kandukuri
2009-06-19 9:29 ` Marcel Holtmann [this message]
2009-07-01 9:06 ` Vikram Kandukuri
-- strict thread matches above, loose matches on Subject: below --
2009-07-02 9:01 Vikram Kandukuri
2009-07-04 18:43 ` Marcel Holtmann
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=1245403791.15367.43.camel@violet \
--to=marcel@holtmann.org \
--cc=Vikram.Kandukuri@Atheros.com \
--cc=linux-bluetooth@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox