linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC V1 0/1] Reduce cdc_ncm memory use when kernel memory low
@ 2017-05-16 17:41 Jim Baxter
  2017-05-16 17:41 ` [RFC V1 1/1] net: cdc_ncm: Reduce " Jim Baxter
  0 siblings, 1 reply; 17+ messages in thread
From: Jim Baxter @ 2017-05-16 17:41 UTC (permalink / raw)
  To: linux-usb, netdev, linux-kernel, Oliver Neukum; +Cc: jim_baxter

Please review this patch


Problem
-------

We are using an ARM embedded platform and require 16KiB NTB's to allow for fast
data transfer. Unfortunately we have found that there are times after
running the kernel for a while and transferring a lot of data over the CDC-NCM
connection that it can become harder to find 16KiB pages of memory for
allocation.
This results in a disconnection of the NCM Gadget attached to the host platform.

We are running with reduced buffers to not cross over into the 32KiB page
boundary by setting the buffer sizes to:
tx_max=16000
rx_max=16000


Analysis
--------

We identified through investigation that the lack of 16KiB pages would be short
lived as the kernel would compact the buddy list soon after the failure which 
results in pages being available within seconds.

Solution
--------

In order to avoid disconnections I implemented a patch that will attempt to
use a 2048 Byte minimum size NTB if the allocation of the maximum size NTB
fails.
This allows the connection to limp along until the memory has been recovered
which was usually between 1 and 4 NTBS on our heavy traffic system.


Jim Baxter (1):
  net: cdc_ncm: Reduce memory use when kernel memory low

 drivers/net/usb/cdc_ncm.c   | 39 +++++++++++++++++++++++++++------------
 include/linux/usb/cdc_ncm.h |  1 +
 2 files changed, 28 insertions(+), 12 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2017-06-12 12:32 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2017-05-19 13:55     ` Bjørn Mork
2017-05-19 14:46       ` David Laight
2017-05-22 13:27         ` Oliver Neukum

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).