Re: [RFC 0/3] Add new data path for ethernet frame format

2016-12-15 Thread Thiagarajan, Vasanthakumar
On Thursday 15 December 2016 02:38 PM, Johannes Berg wrote:
> On Thu, 2016-12-15 at 11:30 +0530, Vasanthakumar Thiagarajan wrote:
>> This patch set adds a new data path to offload 802.11 header
>> encap/decap to driver or hardware. Drivers having support
>> for ieee80211 header encap/decap and other offload functionalities
>> which can't be done before encap or after decap can make use of
>> this new data path. Currently it is implemented for STA and AP
>> interface type, this can be extend other interface types like
>> adhoc.
>
> Thanks for posting this!
>
>> With ath10k driver changes using this new Tx/Rx path, 10 - 15%
>> CPU usage and upto ~20Mbps TCP performance improvements are
>> observed with this ethernet data path.
>
> I'm sure that's because your CPU is severely limited :-)

Right, most of the time I was observing max CPU usage.

>
>> This patch set is
>> prepared on a older mac80211 code base on top of
>> commit 7d27a0ba7adc ("cfg80211: Add mesh peer AID setting API").
>> Sorry, I could not get a chance to rework it on top of latest
>> mac80211 code base.
>
> Ok. I guess that doesn't matter much for review now.
>
>>  - Consider ieee8011 header and cipher header size also while
>> updating tx/rx stats for
>>ethernet frame format.
>
> I wonder if we really shouldn't be going the other way around instead,
> to be closer to what Ethernet and likely other drivers do.

Ok. I captured that because rx/tx bytes stats will be inconsistent between 
ethernet
and 802.11 frame format.

Vasanth

Re: [RFC 0/3] Add new data path for ethernet frame format

2016-12-15 Thread Johannes Berg
On Thu, 2016-12-15 at 11:30 +0530, Vasanthakumar Thiagarajan wrote:
> This patch set adds a new data path to offload 802.11 header
> encap/decap to driver or hardware. Drivers having support
> for ieee80211 header encap/decap and other offload functionalities
> which can't be done before encap or after decap can make use of
> this new data path. Currently it is implemented for STA and AP
> interface type, this can be extend other interface types like
> adhoc.  

Thanks for posting this!

> With ath10k driver changes using this new Tx/Rx path, 10 - 15%
> CPU usage and upto ~20Mbps TCP performance improvements are
> observed with this ethernet data path. 

I'm sure that's because your CPU is severely limited :-)

> This patch set is
> prepared on a older mac80211 code base on top of
> commit 7d27a0ba7adc ("cfg80211: Add mesh peer AID setting API").
> Sorry, I could not get a chance to rework it on top of latest
> mac80211 code base.

Ok. I guess that doesn't matter much for review now.

>   - Consider ieee8011 header and cipher header size also while
> updating tx/rx stats for
>     ethernet frame format.

I wonder if we really shouldn't be going the other way around instead,
to be closer to what Ethernet and likely other drivers do.

johannes


[RFC 0/3] Add new data path for ethernet frame format

2016-12-14 Thread Vasanthakumar Thiagarajan
This patch set adds a new data path to offload 802.11 header
encap/decap to driver or hardware. Drivers having support
for ieee80211 header encap/decap and other offload functionalities
which can't be done before encap or after decap can make use of
this new data path. Currently it is implemented for STA and AP
interface type, this can be extend other interface types like
adhoc.  

With ath10k driver changes using this new Tx/Rx path, 10 - 15%
CPU usage and upto ~20Mbps TCP performance improvements are
observed with this ethernet data path. This patch set is
prepared on a older mac80211 code base on top of
commit 7d27a0ba7adc ("cfg80211: Add mesh peer AID setting API").
Sorry, I could not get a chance to rework it on top of latest
mac80211 code base.

TODO (from initial review):

- Consider ieee8011 header and cipher header size also while updating 
tx/rx stats for
  ethernet frame format.
- Any optimization to reduce the amount of code change.
- Improve commit log and doc

Vasanthakumar Thiagarajan (3):
  mac80211: Add provision for 802.11 encap/decap offload
  mac80211: Implement data xmit for 802.11 encap offload
  mac80211: Add receive path for ethernet frame format

 include/net/mac80211.h |  68 +-
 net/mac80211/cfg.c |   8 ++
 net/mac80211/debugfs.c |   1 +
 net/mac80211/driver-ops.h  |  21 +
 net/mac80211/ieee80211_i.h |  12 +++
 net/mac80211/iface.c   | 147 +
 net/mac80211/key.c |  16 +++-
 net/mac80211/main.c|   7 ++
 net/mac80211/rx.c  | 189 -
 net/mac80211/status.c  |  83 -
 net/mac80211/trace.h   |  33 +++
 net/mac80211/tx.c  | 225 -
 12 files changed, 800 insertions(+), 10 deletions(-)

-- 
1.9.1