netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Kimdon <david.kimdon@devicescape.com>
To: netdev@vger.kernel.org
Cc: "John W. Linville" <linville@tuxdriver.com>, Jiri Benc <jbenc@suse.cz>
Subject: [take3 0/5] d80211: remove bitfields from include/net/d80211.h
Date: Wed, 25 Oct 2006 11:42:44 -0700	[thread overview]
Message-ID: <20061025184244.GA30046@devicescape.com> (raw)

Continue d80211 bitfield removal.  In general, compilers have
difficulty generating efficient code for bitfields.  This patchset
removes all bitfields from include/net/d80211.h.

I converted the 1 bit bitfields into a bit in a u32/u16 or u8 flags
structure member.  Larger bitfields I converted into their
u8/u16/whatever equivalent.

This should be a no-op from a functionality standpoint.

All tests using gcc 4.1.2.

The size of structures where bitfields were removed is identical
patched and unpatched.  All object text size is either slightly
smaller after the patch, or unchanged (bss and data are all
unchanged).  With all d80211 drivers compiled in the patched vmlinux
is 1232 bytes smaller.

Changes from take2:

Refresh to apply to current wireless-dev.

Changes from take1:

Update rt2500usb.c and rt73usb.c drivers based on the new structures.

Changes from take0:

Update the patches to apply on top of the following patches:

d80211: remove unused Super AG definitions, purge comment
    (http://marc.theaimsgroup.com/?l=linux-netdev&m=116102409931269&w=2)
d80211: remove initialization of unused xr structure members
    (http://marc.theaimsgroup.com/?l=linux-netdev&m=116076811809305&w=4)
d80211: remove unused xr structure members, interface, etc.
    (http://marc.theaimsgroup.com/?l=linux-netdev&m=115989929600617&w=4)

For key_conf_bitfields.patch change the new flags member to u8 from u32.

For tx_control_bitfields.patch move the rts_cts_duration and retry_limit members
in ieee80211_tx_control to allow for smaller structure size and change the
flags member from u32 to u16. 

For tx_status_bitfields.patch, in
drivers/net/wireless/d80211/bcm43xx/bcm43xx_dma.c and
drivers/net/wireless/d80211/bcm43xx/bcm43xx_pio.c note that
ieee80211_tx_status is already zero'd, so the ack bit only needs to be
set, not cleared.

--

             reply	other threads:[~2006-10-25 18:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-25 18:42 David Kimdon [this message]
2006-10-25 19:01 ` [take3 0/5] d80211: remove bitfields from include/net/d80211.h Jeff Garzik
2006-10-25 19:17   ` David Kimdon
2006-10-25 19:28     ` Jeff Garzik
2006-11-03  3:30       ` John W. Linville
2006-11-08 15:39         ` David Kimdon

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=20061025184244.GA30046@devicescape.com \
    --to=david.kimdon@devicescape.com \
    --cc=jbenc@suse.cz \
    --cc=linville@tuxdriver.com \
    --cc=netdev@vger.kernel.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).