linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Laight <David.Laight@ACULAB.COM>
To: "'Jim Baxter'" <jim_baxter@mentor.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Oliver Neukum <oliver@neukum.org>
Subject: RE: [RFC V1 1/1] net: cdc_ncm: Reduce memory use when kernel memory low
Date: Fri, 19 May 2017 11:10:40 +0000	[thread overview]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6DCFFFAA5C@AcuExch.aculab.com> (raw)
In-Reply-To: <1494956480-6127-2-git-send-email-jim_baxter@mentor.com>

From: linux-usb-owner@vger.kernel.org [mailto:linux-usb-owner@vger.kernel.org] On Behalf Of Jim Baxter
> Sent: 16 May 2017 18:41
> 
> The CDC-NCM driver can require large amounts of memory to create
> skb's and this can be a problem when the memory becomes fragmented.
> 
> This especially affects embedded systems that have constrained
> resources but wish to maximise the throughput of CDC-NCM with 16KiB
> NTB's.

Why is this driver copying multiple tx messages into a single skb.
Surely there are better ways to do this??

I think it is generating a 'multi-ethernet frame' URB with an
overall header for each URB and a header for each ethernet frame.

Given that the USB stack allows multiple concurrent transmits I'm
surprised that batching large ethernet frames makes much difference.

Also the USB target can't actually tell when URB that contain
multiples of the USB packet size end.
So it is possible to send a single NTB as multiple URB.
Of course, the usb_net might have other ideas.

	David

  parent reply	other threads:[~2017-05-19 11:11 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-16 17:41 [RFC V1 0/1] Reduce cdc_ncm memory use when kernel memory low Jim Baxter
2017-05-16 17:41 ` [RFC V1 1/1] net: cdc_ncm: Reduce " Jim Baxter
2017-05-16 18:24   ` Bjørn Mork
2017-05-17  7:44     ` Oliver Neukum
2017-05-17 10:56       ` Baxter, Jim
2017-05-17 18:18     ` David Miller
2017-05-18 10:01       ` Oliver Neukum
2017-05-22 15:45       ` Baxter, Jim
2017-05-22 15:54         ` David Miller
2017-05-23  8:42           ` Oliver Neukum
2017-05-23 15:26             ` David Miller
2017-05-23 19:06               ` Baxter, Jim
     [not found]                 ` <1497263047.15677.13.camel@suse.com>
2017-06-12 12:32                   ` Baxter, Jim
2017-05-19 11:10   ` David Laight [this message]
2017-05-19 13:55     ` Bjørn Mork
2017-05-19 14:46       ` David Laight
2017-05-22 13:27         ` Oliver Neukum

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=063D6719AE5E284EB5DD2968C1650D6DCFFFAA5C@AcuExch.aculab.com \
    --to=david.laight@aculab.com \
    --cc=jim_baxter@mentor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=oliver@neukum.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;
as well as URLs for NNTP newsgroup(s).