mac80211: optimise station flags
The flaglock in struct sta_info has long been something that I wanted to get rid of, this finally does the conversion to atomic bitops. The conversion itself is straight-forward in most places, a few things needed to change a bit since we can no longer use multiple bits at the same time. On x86-64, this is a fairly significant code size reduction: text data bss dec hex 427861 23648 1008 452517 6e7a5 before 425383 23648 976 450007 6ddd7 after Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
deeaee197b
commit
c2c98fdeb5
18 changed files with 173 additions and 194 deletions
|
@ -58,17 +58,17 @@ static ssize_t sta_flags_read(struct file *file, char __user *userbuf,
|
|||
{
|
||||
char buf[100];
|
||||
struct sta_info *sta = file->private_data;
|
||||
u32 staflags = get_sta_flags(sta);
|
||||
|
||||
int res = scnprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s%s%s",
|
||||
staflags & WLAN_STA_AUTH ? "AUTH\n" : "",
|
||||
staflags & WLAN_STA_ASSOC ? "ASSOC\n" : "",
|
||||
staflags & WLAN_STA_PS_STA ? "PS (sta)\n" : "",
|
||||
staflags & WLAN_STA_PS_DRIVER ? "PS (driver)\n" : "",
|
||||
staflags & WLAN_STA_AUTHORIZED ? "AUTHORIZED\n" : "",
|
||||
staflags & WLAN_STA_SHORT_PREAMBLE ? "SHORT PREAMBLE\n" : "",
|
||||
staflags & WLAN_STA_WME ? "WME\n" : "",
|
||||
staflags & WLAN_STA_WDS ? "WDS\n" : "",
|
||||
staflags & WLAN_STA_MFP ? "MFP\n" : "");
|
||||
test_sta_flag(sta, WLAN_STA_AUTH) ? "AUTH\n" : "",
|
||||
test_sta_flag(sta, WLAN_STA_ASSOC) ? "ASSOC\n" : "",
|
||||
test_sta_flag(sta, WLAN_STA_PS_STA) ? "PS (sta)\n" : "",
|
||||
test_sta_flag(sta, WLAN_STA_PS_DRIVER) ? "PS (driver)\n" : "",
|
||||
test_sta_flag(sta, WLAN_STA_AUTHORIZED) ? "AUTHORIZED\n" : "",
|
||||
test_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE) ? "SHORT PREAMBLE\n" : "",
|
||||
test_sta_flag(sta, WLAN_STA_WME) ? "WME\n" : "",
|
||||
test_sta_flag(sta, WLAN_STA_WDS) ? "WDS\n" : "",
|
||||
test_sta_flag(sta, WLAN_STA_MFP) ? "MFP\n" : "");
|
||||
return simple_read_from_buffer(userbuf, count, ppos, buf, res);
|
||||
}
|
||||
STA_OPS(flags);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue