ath9k_hw: optimize tx status descriptor processing
Disassembly shows, that at least on MIPS, the compiler generates a lot of memory accesses to the same location in the descriptor field parsing. Since it is operating on uncached memory, this can be quite expensive in this hot path. Change the code a bit to help the compiler optimize it properly, and get rid of some unused fields in the ath_tx_status struct. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
45684c75f9
commit
e0e9bc82fb
@@ -104,13 +104,11 @@ struct ath_tx_status {
|
||||
u32 ts_tstamp;
|
||||
u16 ts_seqnum;
|
||||
u8 ts_status;
|
||||
u8 ts_ratecode;
|
||||
u8 ts_rateindex;
|
||||
int8_t ts_rssi;
|
||||
u8 ts_shortretry;
|
||||
u8 ts_longretry;
|
||||
u8 ts_virtcol;
|
||||
u8 ts_antenna;
|
||||
u8 ts_flags;
|
||||
int8_t ts_rssi_ctl0;
|
||||
int8_t ts_rssi_ctl1;
|
||||
@@ -121,7 +119,6 @@ struct ath_tx_status {
|
||||
u8 qid;
|
||||
u16 desc_id;
|
||||
u8 tid;
|
||||
u8 pad[2];
|
||||
u32 ba_low;
|
||||
u32 ba_high;
|
||||
u32 evm0;
|
||||
|
Reference in New Issue
Block a user