lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 05 May 2008 17:22:03 +0200
From:	Johannes Berg <johannes@...solutions.net>
To:	Tomas Winkler <tomasw@...il.com>
Cc:	David Miller <davem@...emloft.net>, linville@...driver.com,
	netdev@...r.kernel.org, linux-wireless@...r.kernel.org
Subject: Re: [RFC v2] mac80211: assign needed_headroom/tailroom for netdevs


> I've did some measurement of the TX path  on an embedded system (2.6.23 kernel)
> When bridging packets from an ethernet device to wireless  there is
> loss of 12% in the CPU utilization and equivalent throughput reduction
> in data packets that are checked and expanded in
> ieee80211_subif_start_xmit function.

Yeah, I figured.

> The expansion is just due to bigger size of the 80211 header size, yet
> the whole packet is reallocated and copied. As we are reaching 11n
> rates 200bps and up this starts to be visible.
> When header was reserved to the  proper side already in the ethernet
> driver the overhead was gone. Yet this doesn't seems to be a correct
> solution for bridging or forwarding.
> For example Iwlwifi HW supports scattered packets this would allow
> just reallocate the header, providing data portion is aligned.

Right. Not all hardware supports this though, but even when it does I
don't see what we can do unless we want to do all this inside mac80211
which I'd rather not.

SKBs don't have a way to say "I need N bytes writable headroom but I can
do s/g operation for the rest" which is what we'd need. If that was
available, we could even work with clones, then we could pull away the
ethernet header and build the 802.11/device headers in separate buffers,
demoting the old 'skb head' buffer to a data buffer...

johannes

Download attachment "signature.asc" of type "application/pgp-signature" (829 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ