[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_Kpj0-g-o5yKJQu=oh773ugfYi-=pjVkJ8-N5OCyuz2EYWOw@mail.gmail.com>
Date: Thu, 10 Jul 2014 01:41:37 +0200
From: Alexey Orishko <alexey.orishko@...il.com>
To: Bjørn Mork <bjorn@...k.no>
Cc: joey ming <joey.zming@...il.com>, jim_baxter@...tor.com,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
zhao.ming9@....com.cn
Subject: Re: the side effect of using copy skb instead of skb_clone in cdc
ncm/mbim driver
On Wed, Jul 9, 2014 at 6:01 PM, Bjørn Mork <bjorn@...k.no> wrote:
> Alexey's results were on modem hardware, and I am guessing the OS wasn't
> Linux.
NCM driver was deployed on Unix-like realtime OS and on various
embedded application CPU running Android.
> So NCM is probably a great win for the modems,
> and you are right: That is likely why this aggregating protocol was
> invented.
One comment for this and earlier passages about USB-IF: during
specification development there was no intention "to make life easier"
on the host side, the goal was to make mobile device more efficient
with a weak CPU (since 2007 situation changed significantly for mobile
computing power).
One important comment though about the main idea of the aggregation protocol:
- in order to get a *real* benefit of the protocol sender shall
initially send only a table containing pointers in a separate 512
bytes packet and only then send the rest of NTB.
- receiving side shall allocate DMA job for receiving 512 bytes first
and after parsing it, setup a job for receiving all IP packets into
separate data buffers. After that DMA engine will handle data without
involving CPU.
As a result: minimum CPU usage and all IP packets are placed into
separate skb-s.
However, I don't believe usbnet infrastructure is capable of doing
that, but it can be done in proprietary code in usb modem. I don't
have any info if someone actually manage to build such a system, which
required a lot of efforts; it is much easier to do data coping with
Intel Quad Core 3+GHz CPU with 8+GB RAM - you hardly notice any
difference comparing to embedded systems...
Regards,
Alexey
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists