All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Change sk_pacing_shift in ieee80211_hw for best tx throughput
@ 2018-07-26  7:21 ` Wen Gong
  0 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-26  7:21 UTC (permalink / raw)
  To: ath10k, johannes; +Cc: linux-wireless

Add a field for ath10k to adjust the sk_pacing_shift, mac80211 set
the default value to 8, and ath10k will change it to 6. Then mac80211
will use the changed value 6 as sk_pacing_shift since 6 is the best
value for tx throughput by test result.

Wen Gong (2):
  mac80211: Change sk_pacing_shift saved to ieee80211_hw
  ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips

 drivers/net/wireless/ath/ath10k/mac.c | 2 ++
 include/net/mac80211.h                | 1 +
 net/mac80211/main.c                   | 2 ++
 net/mac80211/tx.c                     | 2 +-
 4 files changed, 6 insertions(+), 1 deletion(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 0/2] Change sk_pacing_shift in ieee80211_hw for best tx throughput
@ 2018-07-26  7:21 ` Wen Gong
  0 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-26  7:21 UTC (permalink / raw)
  To: ath10k, johannes; +Cc: linux-wireless

Add a field for ath10k to adjust the sk_pacing_shift, mac80211 set
the default value to 8, and ath10k will change it to 6. Then mac80211
will use the changed value 6 as sk_pacing_shift since 6 is the best
value for tx throughput by test result.

Wen Gong (2):
  mac80211: Change sk_pacing_shift saved to ieee80211_hw
  ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips

 drivers/net/wireless/ath/ath10k/mac.c | 2 ++
 include/net/mac80211.h                | 1 +
 net/mac80211/main.c                   | 2 ++
 net/mac80211/tx.c                     | 2 +-
 4 files changed, 6 insertions(+), 1 deletion(-)

-- 
1.9.1


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 1/2] mac80211: Save sk_pacing_shift to ieee80211_hw
  2018-07-26  7:21 ` Wen Gong
@ 2018-07-26  7:21   ` Wen Gong
  -1 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-26  7:21 UTC (permalink / raw)
  To: ath10k, johannes; +Cc: linux-wireless

Add the skb_pacing_shirt adjustment, but this change make it
configurable for other driver. If no other driver set it, then
mac8011 will use the default value.

Signed-off-by: Wen Gong <wgong@codeaurora.org>
---
 include/net/mac80211.h | 1 +
 net/mac80211/main.c    | 2 ++
 net/mac80211/tx.c      | 2 +-
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 851a5e1..f600d08 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -2279,6 +2279,7 @@ struct ieee80211_hw {
 	u8 n_cipher_schemes;
 	const struct ieee80211_cipher_scheme *cipher_schemes;
 	u8 max_nan_de_entries;
+	u8 tx_sk_pacing_shift;
 };
 
 static inline bool _ieee80211_hw_check(struct ieee80211_hw *hw,
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index fb73451..72dce49 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -584,6 +584,8 @@ struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len,
 	local->ops = ops;
 	local->use_chanctx = use_chanctx;
 
+	local->hw.tx_sk_pacing_shift = 8;
+
 	/* set up some defaults */
 	local->hw.queues = 1;
 	local->hw.max_rates = 1;
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 44b5dfe..a2d61b9 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -3596,7 +3596,7 @@ void __ieee80211_subif_start_xmit(struct sk_buff *skb,
 		 * second, so 8 is ~4ms of queued data. Only affects local TCP
 		 * sockets.
 		 */
-		sk_pacing_shift_update(skb->sk, 8);
+		sk_pacing_shift_update(skb->sk, sdata->local->hw.tx_sk_pacing_shift);
 
 		fast_tx = rcu_dereference(sta->fast_tx);
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 1/2] mac80211: Save sk_pacing_shift to ieee80211_hw
@ 2018-07-26  7:21   ` Wen Gong
  0 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-26  7:21 UTC (permalink / raw)
  To: ath10k, johannes; +Cc: linux-wireless

Add the skb_pacing_shirt adjustment, but this change make it
configurable for other driver. If no other driver set it, then
mac8011 will use the default value.

Signed-off-by: Wen Gong <wgong@codeaurora.org>
---
 include/net/mac80211.h | 1 +
 net/mac80211/main.c    | 2 ++
 net/mac80211/tx.c      | 2 +-
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 851a5e1..f600d08 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -2279,6 +2279,7 @@ struct ieee80211_hw {
 	u8 n_cipher_schemes;
 	const struct ieee80211_cipher_scheme *cipher_schemes;
 	u8 max_nan_de_entries;
+	u8 tx_sk_pacing_shift;
 };
 
 static inline bool _ieee80211_hw_check(struct ieee80211_hw *hw,
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index fb73451..72dce49 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -584,6 +584,8 @@ struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len,
 	local->ops = ops;
 	local->use_chanctx = use_chanctx;
 
+	local->hw.tx_sk_pacing_shift = 8;
+
 	/* set up some defaults */
 	local->hw.queues = 1;
 	local->hw.max_rates = 1;
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 44b5dfe..a2d61b9 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -3596,7 +3596,7 @@ void __ieee80211_subif_start_xmit(struct sk_buff *skb,
 		 * second, so 8 is ~4ms of queued data. Only affects local TCP
 		 * sockets.
 		 */
-		sk_pacing_shift_update(skb->sk, 8);
+		sk_pacing_shift_update(skb->sk, sdata->local->hw.tx_sk_pacing_shift);
 
 		fast_tx = rcu_dereference(sta->fast_tx);
 
-- 
1.9.1


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
  2018-07-26  7:21 ` Wen Gong
@ 2018-07-26  7:21   ` Wen Gong
  -1 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-26  7:21 UTC (permalink / raw)
  To: ath10k, johannes; +Cc: linux-wireless

Upstream kernel has an interface to help adjust sk_pacing_shift to help
improve TCP UL throughput.
The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
VHT80 TCP UL throughput testing result shows 6 is the optimal.
Overwrite the sk_pacing_shift to 6 in ath10k driver.

Tested with QCA6174 PCI with firmware
WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI.
It's not a regression with new firmware releases.

There have 2 test result of different settings:

ARM CPU based device with QCA6174A PCI with different
sk_pacing_shift:

 sk_pacing_shift  throughput(Mbps)             CPU utilization
         6            500(-P5)      ~75% idle, Focus on CPU1: ~14%idle
         7            454(-P5)      ~80% idle, Focus on CPU1: ~4%idle
         8               288        ~90% idle, Focus on CPU1: ~35%idle
         9              ~200        ~92% idle, Focus on CPU1: ~50%idle

5G TCP UL VTH80 on X86 platform with QCA6174A PCI with sk_packing_shift
set to 6:

  tcp_limit_output_bytes            throughput(Mbps)
 default(262144)+1 Stream                 336
 default(262144)+2 Streams                558
 default(262144)+3 Streams                584
 default(262144)+4 Streams                602
 default(262144)+5 Streams                598
 changed(2621440)+1 Stream                598
 changed(2621440)+2 Streams               601

Signed-off-by: Wen Gong <wgong@codeaurora.org>
---
 drivers/net/wireless/ath/ath10k/mac.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index f31ae3b..40d24c1 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -8348,6 +8348,8 @@ int ath10k_mac_register(struct ath10k *ar)
 	ar->hw->wiphy->max_scan_ssids = WLAN_SCAN_PARAMS_MAX_SSID;
 	ar->hw->wiphy->max_scan_ie_len = WLAN_SCAN_PARAMS_MAX_IE_LEN;
 
+	ar->hw->tx_sk_pacing_shift = 6;
+
 	ar->hw->vif_data_size = sizeof(struct ath10k_vif);
 	ar->hw->sta_data_size = sizeof(struct ath10k_sta);
 	ar->hw->txq_data_size = sizeof(struct ath10k_txq);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
@ 2018-07-26  7:21   ` Wen Gong
  0 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-26  7:21 UTC (permalink / raw)
  To: ath10k, johannes; +Cc: linux-wireless

Upstream kernel has an interface to help adjust sk_pacing_shift to help
improve TCP UL throughput.
The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
VHT80 TCP UL throughput testing result shows 6 is the optimal.
Overwrite the sk_pacing_shift to 6 in ath10k driver.

Tested with QCA6174 PCI with firmware
WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI.
It's not a regression with new firmware releases.

There have 2 test result of different settings:

ARM CPU based device with QCA6174A PCI with different
sk_pacing_shift:

 sk_pacing_shift  throughput(Mbps)             CPU utilization
         6            500(-P5)      ~75% idle, Focus on CPU1: ~14%idle
         7            454(-P5)      ~80% idle, Focus on CPU1: ~4%idle
         8               288        ~90% idle, Focus on CPU1: ~35%idle
         9              ~200        ~92% idle, Focus on CPU1: ~50%idle

5G TCP UL VTH80 on X86 platform with QCA6174A PCI with sk_packing_shift
set to 6:

  tcp_limit_output_bytes            throughput(Mbps)
 default(262144)+1 Stream                 336
 default(262144)+2 Streams                558
 default(262144)+3 Streams                584
 default(262144)+4 Streams                602
 default(262144)+5 Streams                598
 changed(2621440)+1 Stream                598
 changed(2621440)+2 Streams               601

Signed-off-by: Wen Gong <wgong@codeaurora.org>
---
 drivers/net/wireless/ath/ath10k/mac.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index f31ae3b..40d24c1 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -8348,6 +8348,8 @@ int ath10k_mac_register(struct ath10k *ar)
 	ar->hw->wiphy->max_scan_ssids = WLAN_SCAN_PARAMS_MAX_SSID;
 	ar->hw->wiphy->max_scan_ie_len = WLAN_SCAN_PARAMS_MAX_IE_LEN;
 
+	ar->hw->tx_sk_pacing_shift = 6;
+
 	ar->hw->vif_data_size = sizeof(struct ath10k_vif);
 	ar->hw->sta_data_size = sizeof(struct ath10k_sta);
 	ar->hw->txq_data_size = sizeof(struct ath10k_txq);
-- 
1.9.1


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
  2018-07-26  7:21   ` Wen Gong
@ 2018-07-26 11:45     ` Toke Høiland-Jørgensen
  -1 siblings, 0 replies; 26+ messages in thread
From: Toke Høiland-Jørgensen @ 2018-07-26 11:45 UTC (permalink / raw)
  To: Wen Gong, ath10k, johannes; +Cc: linux-wireless

Wen Gong <wgong@codeaurora.org> writes:

> Upstream kernel has an interface to help adjust sk_pacing_shift to help
> improve TCP UL throughput.
> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
> VHT80 TCP UL throughput testing result shows 6 is the optimal.
> Overwrite the sk_pacing_shift to 6 in ath10k driver.

When I tested this, a pacing shift of 8 was quite close to optimal as
well for ath10k. Why are you getting different results?

> Tested with QCA6174 PCI with firmware
> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI.
> It's not a regression with new firmware releases.
>
> There have 2 test result of different settings:
>
> ARM CPU based device with QCA6174A PCI with different
> sk_pacing_shift:
>
>  sk_pacing_shift  throughput(Mbps)             CPU utilization
>          6            500(-P5)      ~75% idle, Focus on CPU1: ~14%idle
>          7            454(-P5)      ~80% idle, Focus on CPU1: ~4%idle
>          8               288        ~90% idle, Focus on CPU1: ~35%idle
>          9              ~200        ~92% idle, Focus on CPU1: ~50%idle

Your tests do not include latency values; please try running a test that
also measures latency. The tcp_nup test in Flent (https://flent.org)
will do that, for instance. Also, is this a single TCP flow?

-Toke

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
@ 2018-07-26 11:45     ` Toke Høiland-Jørgensen
  0 siblings, 0 replies; 26+ messages in thread
From: Toke Høiland-Jørgensen @ 2018-07-26 11:45 UTC (permalink / raw)
  To: Wen Gong, ath10k, johannes; +Cc: linux-wireless

Wen Gong <wgong@codeaurora.org> writes:

> Upstream kernel has an interface to help adjust sk_pacing_shift to help
> improve TCP UL throughput.
> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
> VHT80 TCP UL throughput testing result shows 6 is the optimal.
> Overwrite the sk_pacing_shift to 6 in ath10k driver.

When I tested this, a pacing shift of 8 was quite close to optimal as
well for ath10k. Why are you getting different results?

> Tested with QCA6174 PCI with firmware
> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI.
> It's not a regression with new firmware releases.
>
> There have 2 test result of different settings:
>
> ARM CPU based device with QCA6174A PCI with different
> sk_pacing_shift:
>
>  sk_pacing_shift  throughput(Mbps)             CPU utilization
>          6            500(-P5)      ~75% idle, Focus on CPU1: ~14%idle
>          7            454(-P5)      ~80% idle, Focus on CPU1: ~4%idle
>          8               288        ~90% idle, Focus on CPU1: ~35%idle
>          9              ~200        ~92% idle, Focus on CPU1: ~50%idle

Your tests do not include latency values; please try running a test that
also measures latency. The tcp_nup test in Flent (https://flent.org)
will do that, for instance. Also, is this a single TCP flow?

-Toke

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
  2018-07-26 11:45     ` Toke Høiland-Jørgensen
@ 2018-07-26 13:02       ` Michał Kazior
  -1 siblings, 0 replies; 26+ messages in thread
From: Michał Kazior @ 2018-07-26 13:02 UTC (permalink / raw)
  To: Toke Høiland-Jørgensen
  Cc: Wen Gong, ath10k, Johannes Berg, linux-wireless

On 26 July 2018 at 13:45, Toke H=C3=B8iland-J=C3=B8rgensen <toke@toke.dk> w=
rote:
> Wen Gong <wgong@codeaurora.org> writes:
>
>> Upstream kernel has an interface to help adjust sk_pacing_shift to help
>> improve TCP UL throughput.
>> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
>> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
>> VHT80 TCP UL throughput testing result shows 6 is the optimal.
>> Overwrite the sk_pacing_shift to 6 in ath10k driver.
>
> When I tested this, a pacing shift of 8 was quite close to optimal as
> well for ath10k. Why are you getting different results?
>
>> Tested with QCA6174 PCI with firmware
>> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI.
>> It's not a regression with new firmware releases.
>>
>> There have 2 test result of different settings:
>>
>> ARM CPU based device with QCA6174A PCI with different
>> sk_pacing_shift:

Different firmware releases have different tx buffering
characteristics. In some 10.2 firmware running on QCA9888 you can have
up to 5ms of delayed aggregation. Ideally sk_pacing_shift should be
adjusted per firmware release. Maybe this should become part of the
ath10k firmware wrapping "fw features" stuff?


Micha=C5=82

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
@ 2018-07-26 13:02       ` Michał Kazior
  0 siblings, 0 replies; 26+ messages in thread
From: Michał Kazior @ 2018-07-26 13:02 UTC (permalink / raw)
  To: Toke Høiland-Jørgensen
  Cc: Johannes Berg, linux-wireless, ath10k, Wen Gong

On 26 July 2018 at 13:45, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
> Wen Gong <wgong@codeaurora.org> writes:
>
>> Upstream kernel has an interface to help adjust sk_pacing_shift to help
>> improve TCP UL throughput.
>> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
>> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
>> VHT80 TCP UL throughput testing result shows 6 is the optimal.
>> Overwrite the sk_pacing_shift to 6 in ath10k driver.
>
> When I tested this, a pacing shift of 8 was quite close to optimal as
> well for ath10k. Why are you getting different results?
>
>> Tested with QCA6174 PCI with firmware
>> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI.
>> It's not a regression with new firmware releases.
>>
>> There have 2 test result of different settings:
>>
>> ARM CPU based device with QCA6174A PCI with different
>> sk_pacing_shift:

Different firmware releases have different tx buffering
characteristics. In some 10.2 firmware running on QCA9888 you can have
up to 5ms of delayed aggregation. Ideally sk_pacing_shift should be
adjusted per firmware release. Maybe this should become part of the
ath10k firmware wrapping "fw features" stuff?


Michał

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] mac80211: Save sk_pacing_shift to ieee80211_hw
  2018-07-26  7:21   ` Wen Gong
@ 2018-07-26 14:52     ` kbuild test robot
  -1 siblings, 0 replies; 26+ messages in thread
From: kbuild test robot @ 2018-07-26 14:52 UTC (permalink / raw)
  To: Wen Gong; +Cc: kbuild-all, ath10k, johannes, linux-wireless

[-- Attachment #1: Type: text/plain, Size: 27364 bytes --]

Hi Wen,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on mac80211-next/master]
[also build test WARNING on v4.18-rc6 next-20180725]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Wen-Gong/Change-sk_pacing_shift-in-ieee80211_hw-for-best-tx-throughput/20180726-190055
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
reproduce: make htmldocs

All warnings (new ones prefixed by >>):

   WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org)
   mm/mempool.c:228: warning: Function parameter or member 'pool' not described in 'mempool_init'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev'
   include/net/mac80211.h:2329: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw'
   include/net/mac80211.h:2329: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw'
>> include/net/mac80211.h:2329: warning: Function parameter or member 'tx_sk_pacing_shift' not described in 'ieee80211_hw'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.rates' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.status_driver_data' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.avg_ack_signal' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info'
   kernel/sched/fair.c:3760: warning: Function parameter or member 'flags' not described in 'attach_entity_load_avg'
   include/linux/device.h:93: warning: bad line: this bus.
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf'
   include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array'
   include/linux/gpio/driver.h:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip'
   include/linux/iio/hw-consumer.h:1: warning: no structured comments found
   include/linux/device.h:94: warning: bad line: this bus.
   include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry'
   include/linux/regulator/driver.h:227: warning: Function parameter or member 'resume_early' not described in 'regulator_ops'
   drivers/regulator/core.c:4465: warning: Excess function parameter 'state' description in 'regulator_suspend_late'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb'
   drivers/usb/dwc3/gadget.c:510: warning: Excess function parameter 'dwc' description in 'dwc3_gadget_start_config'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver'
   drivers/gpu/drm/i915/i915_vma.h:48: warning: cannot understand function prototype: 'struct i915_vma '
   drivers/gpu/drm/i915/i915_vma.h:1: warning: no structured comments found
   include/drm/tinydrm/tinydrm.h:34: warning: Function parameter or member 'fb_dirty' not described in 'tinydrm_device'
   drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter or member 'crtc_state' not described in 'mipi_dbi_enable_flush'
   drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter or member 'plane_state' not described in 'mipi_dbi_enable_flush'
   include/linux/skbuff.h:853: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'list' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'skb_mstamp' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'head_frag' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member '__unused' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'pfmemalloc' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'encapsulation' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'csum_valid' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'csum_level' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'offload_fwd_mark' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'offload_mr_fwd_mark' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff'
   include/net/sock.h:238: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common'
   include/net/sock.h:238: warning: Function parameter or member 'skc_portpair' not described in 'sock_common'
   include/net/sock.h:238: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common'

vim +2329 include/net/mac80211.h

1bc0826c8f Johannes Berg    2007-09-18  2179  
7ac1bd6aec Johannes Berg    2007-09-14  2180  /**
7ac1bd6aec Johannes Berg    2007-09-14  2181   * struct ieee80211_hw - hardware information and state
75a5f0ccfd Johannes Berg    2007-09-18  2182   *
75a5f0ccfd Johannes Berg    2007-09-18  2183   * This structure contains the configuration and hardware
75a5f0ccfd Johannes Berg    2007-09-18  2184   * information for an 802.11 PHY.
75a5f0ccfd Johannes Berg    2007-09-18  2185   *
75a5f0ccfd Johannes Berg    2007-09-18  2186   * @wiphy: This points to the &struct wiphy allocated for this
75a5f0ccfd Johannes Berg    2007-09-18  2187   *	802.11 PHY. You must fill in the @perm_addr and @dev
75a5f0ccfd Johannes Berg    2007-09-18  2188   *	members of this structure using SET_IEEE80211_DEV()
8318d78a44 Johannes Berg    2008-01-24  2189   *	and SET_IEEE80211_PERM_ADDR(). Additionally, all supported
8318d78a44 Johannes Berg    2008-01-24  2190   *	bands (with channels, bitrates) are registered here.
75a5f0ccfd Johannes Berg    2007-09-18  2191   *
75a5f0ccfd Johannes Berg    2007-09-18  2192   * @conf: &struct ieee80211_conf, device configuration, don't use.
75a5f0ccfd Johannes Berg    2007-09-18  2193   *
75a5f0ccfd Johannes Berg    2007-09-18  2194   * @priv: pointer to private area that was allocated for driver use
75a5f0ccfd Johannes Berg    2007-09-18  2195   *	along with this structure.
75a5f0ccfd Johannes Berg    2007-09-18  2196   *
75a5f0ccfd Johannes Berg    2007-09-18  2197   * @flags: hardware flags, see &enum ieee80211_hw_flags.
75a5f0ccfd Johannes Berg    2007-09-18  2198   *
75a5f0ccfd Johannes Berg    2007-09-18  2199   * @extra_tx_headroom: headroom to reserve in each transmit skb
75a5f0ccfd Johannes Berg    2007-09-18  2200   *	for use by the driver (e.g. for transmit headers.)
75a5f0ccfd Johannes Berg    2007-09-18  2201   *
70dabeb74e Felix Fietkau    2013-12-14  2202   * @extra_beacon_tailroom: tailroom to reserve in each beacon tx skb.
70dabeb74e Felix Fietkau    2013-12-14  2203   *	Can be used by drivers to add extra IEs.
75a5f0ccfd Johannes Berg    2007-09-18  2204   *
566bfe5a8b Bruno Randolf    2008-05-08  2205   * @max_signal: Maximum value for signal (rssi) in RX information, used
566bfe5a8b Bruno Randolf    2008-05-08  2206   *	only when @IEEE80211_HW_SIGNAL_UNSPEC or @IEEE80211_HW_SIGNAL_DB
75a5f0ccfd Johannes Berg    2007-09-18  2207   *
ea95bba41e Tomas Winkler    2008-07-18  2208   * @max_listen_interval: max listen interval in units of beacon interval
ea95bba41e Tomas Winkler    2008-07-18  2209   *	that HW supports
ea95bba41e Tomas Winkler    2008-07-18  2210   *
75a5f0ccfd Johannes Berg    2007-09-18  2211   * @queues: number of available hardware transmit queues for
e100bb64bf Johannes Berg    2008-04-30  2212   *	data packets. WMM/QoS requires at least four, these
e100bb64bf Johannes Berg    2008-04-30  2213   *	queues need to have configurable access parameters.
e100bb64bf Johannes Berg    2008-04-30  2214   *
830f903866 Johannes Berg    2007-10-28  2215   * @rate_control_algorithm: rate control algorithm for this hardware.
830f903866 Johannes Berg    2007-10-28  2216   *	If unset (NULL), the default algorithm will be used. Must be
830f903866 Johannes Berg    2007-10-28  2217   *	set before calling ieee80211_register_hw().
32bfd35d4b Johannes Berg    2007-12-19  2218   *
32bfd35d4b Johannes Berg    2007-12-19  2219   * @vif_data_size: size (in bytes) of the drv_priv data area
32bfd35d4b Johannes Berg    2007-12-19  2220   *	within &struct ieee80211_vif.
17741cdc26 Johannes Berg    2008-09-11  2221   * @sta_data_size: size (in bytes) of the drv_priv data area
17741cdc26 Johannes Berg    2008-09-11  2222   *	within &struct ieee80211_sta.
d01a1e6586 Michal Kazior    2012-06-26  2223   * @chanctx_data_size: size (in bytes) of the drv_priv data area
d01a1e6586 Michal Kazior    2012-06-26  2224   *	within &struct ieee80211_chanctx_conf.
ba8c3d6f16 Felix Fietkau    2015-03-27  2225   * @txq_data_size: size (in bytes) of the drv_priv data area
ba8c3d6f16 Felix Fietkau    2015-03-27  2226   *	within @struct ieee80211_txq.
870abdf671 Felix Fietkau    2008-10-05  2227   *
78be49ec2a Helmut Schaa     2010-10-02  2228   * @max_rates: maximum number of alternate rate retry stages the hw
78be49ec2a Helmut Schaa     2010-10-02  2229   *	can handle.
78be49ec2a Helmut Schaa     2010-10-02  2230   * @max_report_rates: maximum number of alternate rate retry stages
78be49ec2a Helmut Schaa     2010-10-02  2231   *	the hw can report back.
e6a9854b05 Johannes Berg    2008-10-21  2232   * @max_rate_tries: maximum number of tries for each stage
4e6cbfd09c John W. Linville 2010-07-29  2233   *
df6ba5d80d Luciano Coelho   2011-01-12  2234   * @max_rx_aggregation_subframes: maximum buffer size (number of
df6ba5d80d Luciano Coelho   2011-01-12  2235   *	sub-frames) to be used for A-MPDU block ack receiver
df6ba5d80d Luciano Coelho   2011-01-12  2236   *	aggregation.
df6ba5d80d Luciano Coelho   2011-01-12  2237   *	This is only relevant if the device has restrictions on the
df6ba5d80d Luciano Coelho   2011-01-12  2238   *	number of subframes, if it relies on mac80211 to do reordering
df6ba5d80d Luciano Coelho   2011-01-12  2239   *	it shouldn't be set.
5dd36bc933 Johannes Berg    2011-01-18  2240   *
5dd36bc933 Johannes Berg    2011-01-18  2241   * @max_tx_aggregation_subframes: maximum number of subframes in an
41cbb0f5a2 Luca Coelho      2018-06-09  2242   *	aggregate an HT/HE device will transmit. In HT AddBA we'll
41cbb0f5a2 Luca Coelho      2018-06-09  2243   *	advertise a constant value of 64 as some older APs crash if
41cbb0f5a2 Luca Coelho      2018-06-09  2244   *	the window size is smaller (an example is LinkSys WRT120N
41cbb0f5a2 Luca Coelho      2018-06-09  2245   *	with FW v1.0.07 build 002 Jun 18 2012).
41cbb0f5a2 Luca Coelho      2018-06-09  2246   *	For AddBA to HE capable peers this value will be used.
3a25a8c8b7 Johannes Berg    2012-04-03  2247   *
6e0456b545 Felix Fietkau    2016-03-03  2248   * @max_tx_fragments: maximum number of tx buffers per (A)-MSDU, sum
6e0456b545 Felix Fietkau    2016-03-03  2249   *	of 1 + skb_shinfo(skb)->nr_frags for each skb in the frag_list.
6e0456b545 Felix Fietkau    2016-03-03  2250   *
3a25a8c8b7 Johannes Berg    2012-04-03  2251   * @offchannel_tx_hw_queue: HW queue ID to use for offchannel TX
3a25a8c8b7 Johannes Berg    2012-04-03  2252   *	(if %IEEE80211_HW_QUEUE_CONTROL is set)
ac55d2fe05 Johannes Berg    2012-05-10  2253   *
ac55d2fe05 Johannes Berg    2012-05-10  2254   * @radiotap_mcs_details: lists which MCS information can the HW
ac55d2fe05 Johannes Berg    2012-05-10  2255   *	reports, by default it is set to _MCS, _GI and _BW but doesn't
b4f7f4ad42 Jani Nikula      2016-10-21  2256   *	include _FMT. Use %IEEE80211_RADIOTAP_MCS_HAVE_\* values, only
ac55d2fe05 Johannes Berg    2012-05-10  2257   *	adding _BW is supported today.
72d7872852 Arik Nemtsov     2012-05-10  2258   *
5164892184 Johannes Berg    2012-11-22  2259   * @radiotap_vht_details: lists which VHT MCS information the HW reports,
5164892184 Johannes Berg    2012-11-22  2260   *	the default is _GI | _BANDWIDTH.
b4f7f4ad42 Jani Nikula      2016-10-21  2261   *	Use the %IEEE80211_RADIOTAP_VHT_KNOWN_\* values.
5164892184 Johannes Berg    2012-11-22  2262   *
41cbb0f5a2 Luca Coelho      2018-06-09  2263   * @radiotap_he: HE radiotap validity flags
41cbb0f5a2 Luca Coelho      2018-06-09  2264   *
99ee7cae3b Johannes Berg    2016-08-29  2265   * @radiotap_timestamp: Information for the radiotap timestamp field; if the
99ee7cae3b Johannes Berg    2016-08-29  2266   *	'units_pos' member is set to a non-negative value it must be set to
99ee7cae3b Johannes Berg    2016-08-29  2267   *	a combination of a IEEE80211_RADIOTAP_TIMESTAMP_UNIT_* and a
99ee7cae3b Johannes Berg    2016-08-29  2268   *	IEEE80211_RADIOTAP_TIMESTAMP_SPOS_* value, and then the timestamp
99ee7cae3b Johannes Berg    2016-08-29  2269   *	field will be added and populated from the &struct ieee80211_rx_status
99ee7cae3b Johannes Berg    2016-08-29  2270   *	device_timestamp. If the 'accuracy' member is non-negative, it's put
99ee7cae3b Johannes Berg    2016-08-29  2271   *	into the accuracy radiotap field and the accuracy known flag is set.
99ee7cae3b Johannes Berg    2016-08-29  2272   *
72d7872852 Arik Nemtsov     2012-05-10  2273   * @netdev_features: netdev features to be set in each netdev created
680a0daba7 Johannes Berg    2015-04-13  2274   *	from this HW. Note that not all features are usable with mac80211,
680a0daba7 Johannes Berg    2015-04-13  2275   *	other features will be rejected during HW registration.
219c38674c Alexander Bondar 2013-01-22  2276   *
219c38674c Alexander Bondar 2013-01-22  2277   * @uapsd_queues: This bitmap is included in (re)association frame to indicate
219c38674c Alexander Bondar 2013-01-22  2278   *	for each access category if it is uAPSD trigger-enabled and delivery-
219c38674c Alexander Bondar 2013-01-22  2279   *	enabled. Use IEEE80211_WMM_IE_STA_QOSINFO_AC_* to set this bitmap.
219c38674c Alexander Bondar 2013-01-22  2280   *	Each bit corresponds to different AC. Value '1' in specific bit means
219c38674c Alexander Bondar 2013-01-22  2281   *	that corresponding AC is both trigger- and delivery-enabled. '0' means
219c38674c Alexander Bondar 2013-01-22  2282   *	neither enabled.
219c38674c Alexander Bondar 2013-01-22  2283   *
219c38674c Alexander Bondar 2013-01-22  2284   * @uapsd_max_sp_len: maximum number of total buffered frames the WMM AP may
219c38674c Alexander Bondar 2013-01-22  2285   *	deliver to a WMM STA during any Service Period triggered by the WMM STA.
219c38674c Alexander Bondar 2013-01-22  2286   *	Use IEEE80211_WMM_IE_STA_QOSINFO_SP_* for correct values.
2475b1cc0d Max Stepanov     2013-03-24  2287   *
2475b1cc0d Max Stepanov     2013-03-24  2288   * @n_cipher_schemes: a size of an array of cipher schemes definitions.
2475b1cc0d Max Stepanov     2013-03-24  2289   * @cipher_schemes: a pointer to an array of cipher scheme definitions
2475b1cc0d Max Stepanov     2013-03-24  2290   *	supported by HW.
167e33f4f6 Ayala Beker      2016-09-20  2291   * @max_nan_de_entries: maximum number of NAN DE functions supported by the
167e33f4f6 Ayala Beker      2016-09-20  2292   *	device.
7ac1bd6aec Johannes Berg    2007-09-14  2293   */
f0706e828e Jiri Benc        2007-05-05  2294  struct ieee80211_hw {
f0706e828e Jiri Benc        2007-05-05  2295  	struct ieee80211_conf conf;
75a5f0ccfd Johannes Berg    2007-09-18  2296  	struct wiphy *wiphy;
830f903866 Johannes Berg    2007-10-28  2297  	const char *rate_control_algorithm;
f0706e828e Jiri Benc        2007-05-05  2298  	void *priv;
30686bf7f5 Johannes Berg    2015-06-02  2299  	unsigned long flags[BITS_TO_LONGS(NUM_IEEE80211_HW_FLAGS)];
f0706e828e Jiri Benc        2007-05-05  2300  	unsigned int extra_tx_headroom;
70dabeb74e Felix Fietkau    2013-12-14  2301  	unsigned int extra_beacon_tailroom;
32bfd35d4b Johannes Berg    2007-12-19  2302  	int vif_data_size;
17741cdc26 Johannes Berg    2008-09-11  2303  	int sta_data_size;
d01a1e6586 Michal Kazior    2012-06-26  2304  	int chanctx_data_size;
ba8c3d6f16 Felix Fietkau    2015-03-27  2305  	int txq_data_size;
ea95bba41e Tomas Winkler    2008-07-18  2306  	u16 queues;
ea95bba41e Tomas Winkler    2008-07-18  2307  	u16 max_listen_interval;
f0706e828e Jiri Benc        2007-05-05  2308  	s8 max_signal;
e6a9854b05 Johannes Berg    2008-10-21  2309  	u8 max_rates;
78be49ec2a Helmut Schaa     2010-10-02  2310  	u8 max_report_rates;
e6a9854b05 Johannes Berg    2008-10-21  2311  	u8 max_rate_tries;
41cbb0f5a2 Luca Coelho      2018-06-09  2312  	u16 max_rx_aggregation_subframes;
41cbb0f5a2 Luca Coelho      2018-06-09  2313  	u16 max_tx_aggregation_subframes;
6e0456b545 Felix Fietkau    2016-03-03  2314  	u8 max_tx_fragments;
3a25a8c8b7 Johannes Berg    2012-04-03  2315  	u8 offchannel_tx_hw_queue;
ac55d2fe05 Johannes Berg    2012-05-10  2316  	u8 radiotap_mcs_details;
5164892184 Johannes Berg    2012-11-22  2317  	u16 radiotap_vht_details;
99ee7cae3b Johannes Berg    2016-08-29  2318  	struct {
99ee7cae3b Johannes Berg    2016-08-29  2319  		int units_pos;
99ee7cae3b Johannes Berg    2016-08-29  2320  		s16 accuracy;
99ee7cae3b Johannes Berg    2016-08-29  2321  	} radiotap_timestamp;
72d7872852 Arik Nemtsov     2012-05-10  2322  	netdev_features_t netdev_features;
219c38674c Alexander Bondar 2013-01-22  2323  	u8 uapsd_queues;
219c38674c Alexander Bondar 2013-01-22  2324  	u8 uapsd_max_sp_len;
2475b1cc0d Max Stepanov     2013-03-24  2325  	u8 n_cipher_schemes;
2475b1cc0d Max Stepanov     2013-03-24  2326  	const struct ieee80211_cipher_scheme *cipher_schemes;
167e33f4f6 Ayala Beker      2016-09-20  2327  	u8 max_nan_de_entries;
c03233ae8c Wen Gong         2018-07-26  2328  	u8 tx_sk_pacing_shift;
f0706e828e Jiri Benc        2007-05-05 @2329  };
f0706e828e Jiri Benc        2007-05-05  2330  

:::::: The code at line 2329 was first introduced by commit
:::::: f0706e828e96d0fa4e80c0d25aa98523f6d589a0 [MAC80211]: Add mac80211 wireless stack.

:::::: TO: Jiri Benc <jbenc@suse.cz>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 6443 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] mac80211: Save sk_pacing_shift to ieee80211_hw
@ 2018-07-26 14:52     ` kbuild test robot
  0 siblings, 0 replies; 26+ messages in thread
From: kbuild test robot @ 2018-07-26 14:52 UTC (permalink / raw)
  To: Wen Gong; +Cc: johannes, linux-wireless, kbuild-all, ath10k

[-- Attachment #1: Type: text/plain, Size: 27364 bytes --]

Hi Wen,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on mac80211-next/master]
[also build test WARNING on v4.18-rc6 next-20180725]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Wen-Gong/Change-sk_pacing_shift-in-ieee80211_hw-for-best-tx-throughput/20180726-190055
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
reproduce: make htmldocs

All warnings (new ones prefixed by >>):

   WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org)
   mm/mempool.c:228: warning: Function parameter or member 'pool' not described in 'mempool_init'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev'
   include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev'
   include/net/mac80211.h:2329: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw'
   include/net/mac80211.h:2329: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw'
>> include/net/mac80211.h:2329: warning: Function parameter or member 'tx_sk_pacing_shift' not described in 'ieee80211_hw'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.rates' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'status.status_driver_data' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:977: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.avg_ack_signal' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info'
   net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info'
   kernel/sched/fair.c:3760: warning: Function parameter or member 'flags' not described in 'attach_entity_load_avg'
   include/linux/device.h:93: warning: bad line: this bus.
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf'
   include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array'
   include/linux/gpio/driver.h:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip'
   include/linux/iio/hw-consumer.h:1: warning: no structured comments found
   include/linux/device.h:94: warning: bad line: this bus.
   include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry'
   include/linux/regulator/driver.h:227: warning: Function parameter or member 'resume_early' not described in 'regulator_ops'
   drivers/regulator/core.c:4465: warning: Excess function parameter 'state' description in 'regulator_suspend_late'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb'
   drivers/usb/dwc3/gadget.c:510: warning: Excess function parameter 'dwc' description in 'dwc3_gadget_start_config'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver'
   drivers/gpu/drm/i915/i915_vma.h:48: warning: cannot understand function prototype: 'struct i915_vma '
   drivers/gpu/drm/i915/i915_vma.h:1: warning: no structured comments found
   include/drm/tinydrm/tinydrm.h:34: warning: Function parameter or member 'fb_dirty' not described in 'tinydrm_device'
   drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter or member 'crtc_state' not described in 'mipi_dbi_enable_flush'
   drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter or member 'plane_state' not described in 'mipi_dbi_enable_flush'
   include/linux/skbuff.h:853: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'list' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'skb_mstamp' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'head_frag' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member '__unused' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'pfmemalloc' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'encapsulation' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'csum_valid' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'csum_level' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'offload_fwd_mark' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'offload_mr_fwd_mark' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff'
   include/linux/skbuff.h:853: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff'
   include/net/sock.h:238: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common'
   include/net/sock.h:238: warning: Function parameter or member 'skc_portpair' not described in 'sock_common'
   include/net/sock.h:238: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common'

vim +2329 include/net/mac80211.h

1bc0826c8f Johannes Berg    2007-09-18  2179  
7ac1bd6aec Johannes Berg    2007-09-14  2180  /**
7ac1bd6aec Johannes Berg    2007-09-14  2181   * struct ieee80211_hw - hardware information and state
75a5f0ccfd Johannes Berg    2007-09-18  2182   *
75a5f0ccfd Johannes Berg    2007-09-18  2183   * This structure contains the configuration and hardware
75a5f0ccfd Johannes Berg    2007-09-18  2184   * information for an 802.11 PHY.
75a5f0ccfd Johannes Berg    2007-09-18  2185   *
75a5f0ccfd Johannes Berg    2007-09-18  2186   * @wiphy: This points to the &struct wiphy allocated for this
75a5f0ccfd Johannes Berg    2007-09-18  2187   *	802.11 PHY. You must fill in the @perm_addr and @dev
75a5f0ccfd Johannes Berg    2007-09-18  2188   *	members of this structure using SET_IEEE80211_DEV()
8318d78a44 Johannes Berg    2008-01-24  2189   *	and SET_IEEE80211_PERM_ADDR(). Additionally, all supported
8318d78a44 Johannes Berg    2008-01-24  2190   *	bands (with channels, bitrates) are registered here.
75a5f0ccfd Johannes Berg    2007-09-18  2191   *
75a5f0ccfd Johannes Berg    2007-09-18  2192   * @conf: &struct ieee80211_conf, device configuration, don't use.
75a5f0ccfd Johannes Berg    2007-09-18  2193   *
75a5f0ccfd Johannes Berg    2007-09-18  2194   * @priv: pointer to private area that was allocated for driver use
75a5f0ccfd Johannes Berg    2007-09-18  2195   *	along with this structure.
75a5f0ccfd Johannes Berg    2007-09-18  2196   *
75a5f0ccfd Johannes Berg    2007-09-18  2197   * @flags: hardware flags, see &enum ieee80211_hw_flags.
75a5f0ccfd Johannes Berg    2007-09-18  2198   *
75a5f0ccfd Johannes Berg    2007-09-18  2199   * @extra_tx_headroom: headroom to reserve in each transmit skb
75a5f0ccfd Johannes Berg    2007-09-18  2200   *	for use by the driver (e.g. for transmit headers.)
75a5f0ccfd Johannes Berg    2007-09-18  2201   *
70dabeb74e Felix Fietkau    2013-12-14  2202   * @extra_beacon_tailroom: tailroom to reserve in each beacon tx skb.
70dabeb74e Felix Fietkau    2013-12-14  2203   *	Can be used by drivers to add extra IEs.
75a5f0ccfd Johannes Berg    2007-09-18  2204   *
566bfe5a8b Bruno Randolf    2008-05-08  2205   * @max_signal: Maximum value for signal (rssi) in RX information, used
566bfe5a8b Bruno Randolf    2008-05-08  2206   *	only when @IEEE80211_HW_SIGNAL_UNSPEC or @IEEE80211_HW_SIGNAL_DB
75a5f0ccfd Johannes Berg    2007-09-18  2207   *
ea95bba41e Tomas Winkler    2008-07-18  2208   * @max_listen_interval: max listen interval in units of beacon interval
ea95bba41e Tomas Winkler    2008-07-18  2209   *	that HW supports
ea95bba41e Tomas Winkler    2008-07-18  2210   *
75a5f0ccfd Johannes Berg    2007-09-18  2211   * @queues: number of available hardware transmit queues for
e100bb64bf Johannes Berg    2008-04-30  2212   *	data packets. WMM/QoS requires at least four, these
e100bb64bf Johannes Berg    2008-04-30  2213   *	queues need to have configurable access parameters.
e100bb64bf Johannes Berg    2008-04-30  2214   *
830f903866 Johannes Berg    2007-10-28  2215   * @rate_control_algorithm: rate control algorithm for this hardware.
830f903866 Johannes Berg    2007-10-28  2216   *	If unset (NULL), the default algorithm will be used. Must be
830f903866 Johannes Berg    2007-10-28  2217   *	set before calling ieee80211_register_hw().
32bfd35d4b Johannes Berg    2007-12-19  2218   *
32bfd35d4b Johannes Berg    2007-12-19  2219   * @vif_data_size: size (in bytes) of the drv_priv data area
32bfd35d4b Johannes Berg    2007-12-19  2220   *	within &struct ieee80211_vif.
17741cdc26 Johannes Berg    2008-09-11  2221   * @sta_data_size: size (in bytes) of the drv_priv data area
17741cdc26 Johannes Berg    2008-09-11  2222   *	within &struct ieee80211_sta.
d01a1e6586 Michal Kazior    2012-06-26  2223   * @chanctx_data_size: size (in bytes) of the drv_priv data area
d01a1e6586 Michal Kazior    2012-06-26  2224   *	within &struct ieee80211_chanctx_conf.
ba8c3d6f16 Felix Fietkau    2015-03-27  2225   * @txq_data_size: size (in bytes) of the drv_priv data area
ba8c3d6f16 Felix Fietkau    2015-03-27  2226   *	within @struct ieee80211_txq.
870abdf671 Felix Fietkau    2008-10-05  2227   *
78be49ec2a Helmut Schaa     2010-10-02  2228   * @max_rates: maximum number of alternate rate retry stages the hw
78be49ec2a Helmut Schaa     2010-10-02  2229   *	can handle.
78be49ec2a Helmut Schaa     2010-10-02  2230   * @max_report_rates: maximum number of alternate rate retry stages
78be49ec2a Helmut Schaa     2010-10-02  2231   *	the hw can report back.
e6a9854b05 Johannes Berg    2008-10-21  2232   * @max_rate_tries: maximum number of tries for each stage
4e6cbfd09c John W. Linville 2010-07-29  2233   *
df6ba5d80d Luciano Coelho   2011-01-12  2234   * @max_rx_aggregation_subframes: maximum buffer size (number of
df6ba5d80d Luciano Coelho   2011-01-12  2235   *	sub-frames) to be used for A-MPDU block ack receiver
df6ba5d80d Luciano Coelho   2011-01-12  2236   *	aggregation.
df6ba5d80d Luciano Coelho   2011-01-12  2237   *	This is only relevant if the device has restrictions on the
df6ba5d80d Luciano Coelho   2011-01-12  2238   *	number of subframes, if it relies on mac80211 to do reordering
df6ba5d80d Luciano Coelho   2011-01-12  2239   *	it shouldn't be set.
5dd36bc933 Johannes Berg    2011-01-18  2240   *
5dd36bc933 Johannes Berg    2011-01-18  2241   * @max_tx_aggregation_subframes: maximum number of subframes in an
41cbb0f5a2 Luca Coelho      2018-06-09  2242   *	aggregate an HT/HE device will transmit. In HT AddBA we'll
41cbb0f5a2 Luca Coelho      2018-06-09  2243   *	advertise a constant value of 64 as some older APs crash if
41cbb0f5a2 Luca Coelho      2018-06-09  2244   *	the window size is smaller (an example is LinkSys WRT120N
41cbb0f5a2 Luca Coelho      2018-06-09  2245   *	with FW v1.0.07 build 002 Jun 18 2012).
41cbb0f5a2 Luca Coelho      2018-06-09  2246   *	For AddBA to HE capable peers this value will be used.
3a25a8c8b7 Johannes Berg    2012-04-03  2247   *
6e0456b545 Felix Fietkau    2016-03-03  2248   * @max_tx_fragments: maximum number of tx buffers per (A)-MSDU, sum
6e0456b545 Felix Fietkau    2016-03-03  2249   *	of 1 + skb_shinfo(skb)->nr_frags for each skb in the frag_list.
6e0456b545 Felix Fietkau    2016-03-03  2250   *
3a25a8c8b7 Johannes Berg    2012-04-03  2251   * @offchannel_tx_hw_queue: HW queue ID to use for offchannel TX
3a25a8c8b7 Johannes Berg    2012-04-03  2252   *	(if %IEEE80211_HW_QUEUE_CONTROL is set)
ac55d2fe05 Johannes Berg    2012-05-10  2253   *
ac55d2fe05 Johannes Berg    2012-05-10  2254   * @radiotap_mcs_details: lists which MCS information can the HW
ac55d2fe05 Johannes Berg    2012-05-10  2255   *	reports, by default it is set to _MCS, _GI and _BW but doesn't
b4f7f4ad42 Jani Nikula      2016-10-21  2256   *	include _FMT. Use %IEEE80211_RADIOTAP_MCS_HAVE_\* values, only
ac55d2fe05 Johannes Berg    2012-05-10  2257   *	adding _BW is supported today.
72d7872852 Arik Nemtsov     2012-05-10  2258   *
5164892184 Johannes Berg    2012-11-22  2259   * @radiotap_vht_details: lists which VHT MCS information the HW reports,
5164892184 Johannes Berg    2012-11-22  2260   *	the default is _GI | _BANDWIDTH.
b4f7f4ad42 Jani Nikula      2016-10-21  2261   *	Use the %IEEE80211_RADIOTAP_VHT_KNOWN_\* values.
5164892184 Johannes Berg    2012-11-22  2262   *
41cbb0f5a2 Luca Coelho      2018-06-09  2263   * @radiotap_he: HE radiotap validity flags
41cbb0f5a2 Luca Coelho      2018-06-09  2264   *
99ee7cae3b Johannes Berg    2016-08-29  2265   * @radiotap_timestamp: Information for the radiotap timestamp field; if the
99ee7cae3b Johannes Berg    2016-08-29  2266   *	'units_pos' member is set to a non-negative value it must be set to
99ee7cae3b Johannes Berg    2016-08-29  2267   *	a combination of a IEEE80211_RADIOTAP_TIMESTAMP_UNIT_* and a
99ee7cae3b Johannes Berg    2016-08-29  2268   *	IEEE80211_RADIOTAP_TIMESTAMP_SPOS_* value, and then the timestamp
99ee7cae3b Johannes Berg    2016-08-29  2269   *	field will be added and populated from the &struct ieee80211_rx_status
99ee7cae3b Johannes Berg    2016-08-29  2270   *	device_timestamp. If the 'accuracy' member is non-negative, it's put
99ee7cae3b Johannes Berg    2016-08-29  2271   *	into the accuracy radiotap field and the accuracy known flag is set.
99ee7cae3b Johannes Berg    2016-08-29  2272   *
72d7872852 Arik Nemtsov     2012-05-10  2273   * @netdev_features: netdev features to be set in each netdev created
680a0daba7 Johannes Berg    2015-04-13  2274   *	from this HW. Note that not all features are usable with mac80211,
680a0daba7 Johannes Berg    2015-04-13  2275   *	other features will be rejected during HW registration.
219c38674c Alexander Bondar 2013-01-22  2276   *
219c38674c Alexander Bondar 2013-01-22  2277   * @uapsd_queues: This bitmap is included in (re)association frame to indicate
219c38674c Alexander Bondar 2013-01-22  2278   *	for each access category if it is uAPSD trigger-enabled and delivery-
219c38674c Alexander Bondar 2013-01-22  2279   *	enabled. Use IEEE80211_WMM_IE_STA_QOSINFO_AC_* to set this bitmap.
219c38674c Alexander Bondar 2013-01-22  2280   *	Each bit corresponds to different AC. Value '1' in specific bit means
219c38674c Alexander Bondar 2013-01-22  2281   *	that corresponding AC is both trigger- and delivery-enabled. '0' means
219c38674c Alexander Bondar 2013-01-22  2282   *	neither enabled.
219c38674c Alexander Bondar 2013-01-22  2283   *
219c38674c Alexander Bondar 2013-01-22  2284   * @uapsd_max_sp_len: maximum number of total buffered frames the WMM AP may
219c38674c Alexander Bondar 2013-01-22  2285   *	deliver to a WMM STA during any Service Period triggered by the WMM STA.
219c38674c Alexander Bondar 2013-01-22  2286   *	Use IEEE80211_WMM_IE_STA_QOSINFO_SP_* for correct values.
2475b1cc0d Max Stepanov     2013-03-24  2287   *
2475b1cc0d Max Stepanov     2013-03-24  2288   * @n_cipher_schemes: a size of an array of cipher schemes definitions.
2475b1cc0d Max Stepanov     2013-03-24  2289   * @cipher_schemes: a pointer to an array of cipher scheme definitions
2475b1cc0d Max Stepanov     2013-03-24  2290   *	supported by HW.
167e33f4f6 Ayala Beker      2016-09-20  2291   * @max_nan_de_entries: maximum number of NAN DE functions supported by the
167e33f4f6 Ayala Beker      2016-09-20  2292   *	device.
7ac1bd6aec Johannes Berg    2007-09-14  2293   */
f0706e828e Jiri Benc        2007-05-05  2294  struct ieee80211_hw {
f0706e828e Jiri Benc        2007-05-05  2295  	struct ieee80211_conf conf;
75a5f0ccfd Johannes Berg    2007-09-18  2296  	struct wiphy *wiphy;
830f903866 Johannes Berg    2007-10-28  2297  	const char *rate_control_algorithm;
f0706e828e Jiri Benc        2007-05-05  2298  	void *priv;
30686bf7f5 Johannes Berg    2015-06-02  2299  	unsigned long flags[BITS_TO_LONGS(NUM_IEEE80211_HW_FLAGS)];
f0706e828e Jiri Benc        2007-05-05  2300  	unsigned int extra_tx_headroom;
70dabeb74e Felix Fietkau    2013-12-14  2301  	unsigned int extra_beacon_tailroom;
32bfd35d4b Johannes Berg    2007-12-19  2302  	int vif_data_size;
17741cdc26 Johannes Berg    2008-09-11  2303  	int sta_data_size;
d01a1e6586 Michal Kazior    2012-06-26  2304  	int chanctx_data_size;
ba8c3d6f16 Felix Fietkau    2015-03-27  2305  	int txq_data_size;
ea95bba41e Tomas Winkler    2008-07-18  2306  	u16 queues;
ea95bba41e Tomas Winkler    2008-07-18  2307  	u16 max_listen_interval;
f0706e828e Jiri Benc        2007-05-05  2308  	s8 max_signal;
e6a9854b05 Johannes Berg    2008-10-21  2309  	u8 max_rates;
78be49ec2a Helmut Schaa     2010-10-02  2310  	u8 max_report_rates;
e6a9854b05 Johannes Berg    2008-10-21  2311  	u8 max_rate_tries;
41cbb0f5a2 Luca Coelho      2018-06-09  2312  	u16 max_rx_aggregation_subframes;
41cbb0f5a2 Luca Coelho      2018-06-09  2313  	u16 max_tx_aggregation_subframes;
6e0456b545 Felix Fietkau    2016-03-03  2314  	u8 max_tx_fragments;
3a25a8c8b7 Johannes Berg    2012-04-03  2315  	u8 offchannel_tx_hw_queue;
ac55d2fe05 Johannes Berg    2012-05-10  2316  	u8 radiotap_mcs_details;
5164892184 Johannes Berg    2012-11-22  2317  	u16 radiotap_vht_details;
99ee7cae3b Johannes Berg    2016-08-29  2318  	struct {
99ee7cae3b Johannes Berg    2016-08-29  2319  		int units_pos;
99ee7cae3b Johannes Berg    2016-08-29  2320  		s16 accuracy;
99ee7cae3b Johannes Berg    2016-08-29  2321  	} radiotap_timestamp;
72d7872852 Arik Nemtsov     2012-05-10  2322  	netdev_features_t netdev_features;
219c38674c Alexander Bondar 2013-01-22  2323  	u8 uapsd_queues;
219c38674c Alexander Bondar 2013-01-22  2324  	u8 uapsd_max_sp_len;
2475b1cc0d Max Stepanov     2013-03-24  2325  	u8 n_cipher_schemes;
2475b1cc0d Max Stepanov     2013-03-24  2326  	const struct ieee80211_cipher_scheme *cipher_schemes;
167e33f4f6 Ayala Beker      2016-09-20  2327  	u8 max_nan_de_entries;
c03233ae8c Wen Gong         2018-07-26  2328  	u8 tx_sk_pacing_shift;
f0706e828e Jiri Benc        2007-05-05 @2329  };
f0706e828e Jiri Benc        2007-05-05  2330  

:::::: The code at line 2329 was first introduced by commit
:::::: f0706e828e96d0fa4e80c0d25aa98523f6d589a0 [MAC80211]: Add mac80211 wireless stack.

:::::: TO: Jiri Benc <jbenc@suse.cz>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 6443 bytes --]

[-- Attachment #3: Type: text/plain, Size: 146 bytes --]

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] mac80211: Save sk_pacing_shift to ieee80211_hw
  2018-07-26 14:52     ` kbuild test robot
@ 2018-07-27  8:35       ` Wen Gong
  -1 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-27  8:35 UTC (permalink / raw)
  To: kbuild test robot; +Cc: kbuild-all, ath10k, johannes, linux-wireless

Thanks,
I will add description of tx_sk_pacing_shift as below and sent next 
patch.
*
* @tx_sk_pacing_shift: The TCP stack allow more than a single ms of data
*     to be queued in the stack. The value is a bit-shift of 1 second, 
e.g. 8
*     is ~4ms of queued data. It only affects local TCP sockets.
*/

On 2018-07-26 22:52, kbuild test robot wrote:
> Hi Wen,
> 
> Thank you for the patch! Perhaps something to improve:
> 
> [auto build test WARNING on mac80211-next/master]
> [also build test WARNING on v4.18-rc6 next-20180725]
> [if your patch is applied to the wrong git tree, please drop us a note
> to help improve the system]
> 
> url:
> https://github.com/0day-ci/linux/commits/Wen-Gong/Change-sk_pacing_shift-in-ieee80211_hw-for-best-tx-throughput/20180726-190055
> base:
> https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
> master
> reproduce: make htmldocs
> 
> All warnings (new ones prefixed by >>):
> 
>    WARNING: convert(1) not found, for SVG to PDF conversion install
> ImageMagick (https://www.imagemagick.org)
>    mm/mempool.c:228: warning: Function parameter or member 'pool' not
> described in 'mempool_init'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.ibss' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.connect' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.keys' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.ie' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.ie_len' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.bssid' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.ssid' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.default_key' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.default_mgmt_key' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.prev_bssid_valid' not described in 'wireless_dev'
>    include/net/mac80211.h:2329: warning: Function parameter or member
> 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw'
>    include/net/mac80211.h:2329: warning: Function parameter or member
> 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw'
>>> include/net/mac80211.h:2329: warning: Function parameter or member 
>>> 'tx_sk_pacing_shift' not described in 'ieee80211_hw'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.rates' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.use_rts' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.use_cts_prot' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.short_preamble' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.skip_table' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.jiffies' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.vif' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.hw_key' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.flags' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.enqueue_time' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'ack' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'ack.cookie' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.rates' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.ack_signal' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.ampdu_ack_len' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.ampdu_len' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.antenna' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.tx_time' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.status_driver_data' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'driver_rates' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'pad' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'rate_driver_data' not described in 'ieee80211_tx_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'rx_stats_avg' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'rx_stats_avg.signal' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'rx_stats_avg.chain_signal' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.filtered' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.retry_failed' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.retry_count' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.lost_packets' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.last_tdls_pkt_time' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.msdu_retries' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.msdu_failed' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.last_ack' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.last_ack_signal' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.ack_signal_filled' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.avg_ack_signal' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'tx_stats.packets' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'tx_stats.bytes' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'tx_stats.last_rate' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'tx_stats.msdu' not described in 'sta_info'
>    kernel/sched/fair.c:3760: warning: Function parameter or member
> 'flags' not described in 'attach_entity_load_avg'
>    include/linux/device.h:93: warning: bad line: this bus.
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_excl.cb' not described in 'dma_buf'
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_excl.poll' not described in 'dma_buf'
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_excl.active' not described in 'dma_buf'
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_shared.cb' not described in 'dma_buf'
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_shared.poll' not described in 'dma_buf'
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_shared.active' not described in 'dma_buf'
>    include/linux/dma-fence-array.h:54: warning: Function parameter or
> member 'work' not described in 'dma_fence_array'
>    include/linux/gpio/driver.h:142: warning: Function parameter or
> member 'request_key' not described in 'gpio_irq_chip'
>    include/linux/iio/hw-consumer.h:1: warning: no structured comments 
> found
>    include/linux/device.h:94: warning: bad line: this bus.
>    include/linux/input/sparse-keymap.h:46: warning: Function parameter
> or member 'sw' not described in 'key_entry'
>    include/linux/regulator/driver.h:227: warning: Function parameter
> or member 'resume_early' not described in 'regulator_ops'
>    drivers/regulator/core.c:4465: warning: Excess function parameter
> 'state' description in 'regulator_suspend_late'
>    arch/s390/include/asm/cio.h:245: warning: Function parameter or
> member 'esw.esw0' not described in 'irb'
>    arch/s390/include/asm/cio.h:245: warning: Function parameter or
> member 'esw.esw1' not described in 'irb'
>    arch/s390/include/asm/cio.h:245: warning: Function parameter or
> member 'esw.esw2' not described in 'irb'
>    arch/s390/include/asm/cio.h:245: warning: Function parameter or
> member 'esw.esw3' not described in 'irb'
>    arch/s390/include/asm/cio.h:245: warning: Function parameter or
> member 'esw.eadm' not described in 'irb'
>    drivers/usb/dwc3/gadget.c:510: warning: Excess function parameter
> 'dwc' description in 'dwc3_gadget_start_config'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_pin' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_unpin' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_res_obj' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_get_sg_table' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_import_sg_table' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_vmap' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_vunmap' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_mmap' not described in 'drm_driver'
>    drivers/gpu/drm/i915/i915_vma.h:48: warning: cannot understand
> function prototype: 'struct i915_vma '
>    drivers/gpu/drm/i915/i915_vma.h:1: warning: no structured comments 
> found
>    include/drm/tinydrm/tinydrm.h:34: warning: Function parameter or
> member 'fb_dirty' not described in 'tinydrm_device'
>    drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter
> or member 'crtc_state' not described in 'mipi_dbi_enable_flush'
>    drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter
> or member 'plane_state' not described in 'mipi_dbi_enable_flush'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'dev_scratch' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'ip_defrag_offset' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'list' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'skb_mstamp' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> '__cloned_offset' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'head_frag' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> '__unused' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> '__pkt_type_offset' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'pfmemalloc' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'encapsulation' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'encap_hdr_csum' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'csum_valid' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'csum_complete_sw' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'csum_level' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'inner_protocol_type' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'remcsum_offload' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'offload_fwd_mark' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'offload_mr_fwd_mark' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'sender_cpu' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'reserved_tailroom' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'inner_ipproto' not described in 'sk_buff'
>    include/net/sock.h:238: warning: Function parameter or member
> 'skc_addrpair' not described in 'sock_common'
>    include/net/sock.h:238: warning: Function parameter or member
> 'skc_portpair' not described in 'sock_common'
>    include/net/sock.h:238: warning: Function parameter or member
> 'skc_ipv6only' not described in 'sock_common'
> 
> vim +2329 include/net/mac80211.h
> 
> 1bc0826c8f Johannes Berg    2007-09-18  2179
> 7ac1bd6aec Johannes Berg    2007-09-14  2180  /**
> 7ac1bd6aec Johannes Berg    2007-09-14  2181   * struct ieee80211_hw -
> hardware information and state
> 75a5f0ccfd Johannes Berg    2007-09-18  2182   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2183   * This structure
> contains the configuration and hardware
> 75a5f0ccfd Johannes Berg    2007-09-18  2184   * information for an 
> 802.11 PHY.
> 75a5f0ccfd Johannes Berg    2007-09-18  2185   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2186   * @wiphy: This points
> to the &struct wiphy allocated for this
> 75a5f0ccfd Johannes Berg    2007-09-18  2187   *	802.11 PHY. You must
> fill in the @perm_addr and @dev
> 75a5f0ccfd Johannes Berg    2007-09-18  2188   *	members of this
> structure using SET_IEEE80211_DEV()
> 8318d78a44 Johannes Berg    2008-01-24  2189   *	and
> SET_IEEE80211_PERM_ADDR(). Additionally, all supported
> 8318d78a44 Johannes Berg    2008-01-24  2190   *	bands (with channels,
> bitrates) are registered here.
> 75a5f0ccfd Johannes Berg    2007-09-18  2191   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2192   * @conf: &struct
> ieee80211_conf, device configuration, don't use.
> 75a5f0ccfd Johannes Berg    2007-09-18  2193   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2194   * @priv: pointer to
> private area that was allocated for driver use
> 75a5f0ccfd Johannes Berg    2007-09-18  2195   *	along with this 
> structure.
> 75a5f0ccfd Johannes Berg    2007-09-18  2196   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2197   * @flags: hardware
> flags, see &enum ieee80211_hw_flags.
> 75a5f0ccfd Johannes Berg    2007-09-18  2198   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2199   * @extra_tx_headroom:
> headroom to reserve in each transmit skb
> 75a5f0ccfd Johannes Berg    2007-09-18  2200   *	for use by the driver
> (e.g. for transmit headers.)
> 75a5f0ccfd Johannes Berg    2007-09-18  2201   *
> 70dabeb74e Felix Fietkau    2013-12-14  2202   *
> @extra_beacon_tailroom: tailroom to reserve in each beacon tx skb.
> 70dabeb74e Felix Fietkau    2013-12-14  2203   *	Can be used by
> drivers to add extra IEs.
> 75a5f0ccfd Johannes Berg    2007-09-18  2204   *
> 566bfe5a8b Bruno Randolf    2008-05-08  2205   * @max_signal: Maximum
> value for signal (rssi) in RX information, used
> 566bfe5a8b Bruno Randolf    2008-05-08  2206   *	only when
> @IEEE80211_HW_SIGNAL_UNSPEC or @IEEE80211_HW_SIGNAL_DB
> 75a5f0ccfd Johannes Berg    2007-09-18  2207   *
> ea95bba41e Tomas Winkler    2008-07-18  2208   * @max_listen_interval:
> max listen interval in units of beacon interval
> ea95bba41e Tomas Winkler    2008-07-18  2209   *	that HW supports
> ea95bba41e Tomas Winkler    2008-07-18  2210   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2211   * @queues: number of
> available hardware transmit queues for
> e100bb64bf Johannes Berg    2008-04-30  2212   *	data packets. WMM/QoS
> requires at least four, these
> e100bb64bf Johannes Berg    2008-04-30  2213   *	queues need to have
> configurable access parameters.
> e100bb64bf Johannes Berg    2008-04-30  2214   *
> 830f903866 Johannes Berg    2007-10-28  2215   *
> @rate_control_algorithm: rate control algorithm for this hardware.
> 830f903866 Johannes Berg    2007-10-28  2216   *	If unset (NULL), the
> default algorithm will be used. Must be
> 830f903866 Johannes Berg    2007-10-28  2217   *	set before calling
> ieee80211_register_hw().
> 32bfd35d4b Johannes Berg    2007-12-19  2218   *
> 32bfd35d4b Johannes Berg    2007-12-19  2219   * @vif_data_size: size
> (in bytes) of the drv_priv data area
> 32bfd35d4b Johannes Berg    2007-12-19  2220   *	within &struct 
> ieee80211_vif.
> 17741cdc26 Johannes Berg    2008-09-11  2221   * @sta_data_size: size
> (in bytes) of the drv_priv data area
> 17741cdc26 Johannes Berg    2008-09-11  2222   *	within &struct 
> ieee80211_sta.
> d01a1e6586 Michal Kazior    2012-06-26  2223   * @chanctx_data_size:
> size (in bytes) of the drv_priv data area
> d01a1e6586 Michal Kazior    2012-06-26  2224   *	within &struct
> ieee80211_chanctx_conf.
> ba8c3d6f16 Felix Fietkau    2015-03-27  2225   * @txq_data_size: size
> (in bytes) of the drv_priv data area
> ba8c3d6f16 Felix Fietkau    2015-03-27  2226   *	within @struct 
> ieee80211_txq.
> 870abdf671 Felix Fietkau    2008-10-05  2227   *
> 78be49ec2a Helmut Schaa     2010-10-02  2228   * @max_rates: maximum
> number of alternate rate retry stages the hw
> 78be49ec2a Helmut Schaa     2010-10-02  2229   *	can handle.
> 78be49ec2a Helmut Schaa     2010-10-02  2230   * @max_report_rates:
> maximum number of alternate rate retry stages
> 78be49ec2a Helmut Schaa     2010-10-02  2231   *	the hw can report 
> back.
> e6a9854b05 Johannes Berg    2008-10-21  2232   * @max_rate_tries:
> maximum number of tries for each stage
> 4e6cbfd09c John W. Linville 2010-07-29  2233   *
> df6ba5d80d Luciano Coelho   2011-01-12  2234   *
> @max_rx_aggregation_subframes: maximum buffer size (number of
> df6ba5d80d Luciano Coelho   2011-01-12  2235   *	sub-frames) to be
> used for A-MPDU block ack receiver
> df6ba5d80d Luciano Coelho   2011-01-12  2236   *	aggregation.
> df6ba5d80d Luciano Coelho   2011-01-12  2237   *	This is only relevant
> if the device has restrictions on the
> df6ba5d80d Luciano Coelho   2011-01-12  2238   *	number of subframes,
> if it relies on mac80211 to do reordering
> df6ba5d80d Luciano Coelho   2011-01-12  2239   *	it shouldn't be set.
> 5dd36bc933 Johannes Berg    2011-01-18  2240   *
> 5dd36bc933 Johannes Berg    2011-01-18  2241   *
> @max_tx_aggregation_subframes: maximum number of subframes in an
> 41cbb0f5a2 Luca Coelho      2018-06-09  2242   *	aggregate an HT/HE
> device will transmit. In HT AddBA we'll
> 41cbb0f5a2 Luca Coelho      2018-06-09  2243   *	advertise a constant
> value of 64 as some older APs crash if
> 41cbb0f5a2 Luca Coelho      2018-06-09  2244   *	the window size is
> smaller (an example is LinkSys WRT120N
> 41cbb0f5a2 Luca Coelho      2018-06-09  2245   *	with FW v1.0.07 build
> 002 Jun 18 2012).
> 41cbb0f5a2 Luca Coelho      2018-06-09  2246   *	For AddBA to HE
> capable peers this value will be used.
> 3a25a8c8b7 Johannes Berg    2012-04-03  2247   *
> 6e0456b545 Felix Fietkau    2016-03-03  2248   * @max_tx_fragments:
> maximum number of tx buffers per (A)-MSDU, sum
> 6e0456b545 Felix Fietkau    2016-03-03  2249   *	of 1 +
> skb_shinfo(skb)->nr_frags for each skb in the frag_list.
> 6e0456b545 Felix Fietkau    2016-03-03  2250   *
> 3a25a8c8b7 Johannes Berg    2012-04-03  2251   *
> @offchannel_tx_hw_queue: HW queue ID to use for offchannel TX
> 3a25a8c8b7 Johannes Berg    2012-04-03  2252   *	(if
> %IEEE80211_HW_QUEUE_CONTROL is set)
> ac55d2fe05 Johannes Berg    2012-05-10  2253   *
> ac55d2fe05 Johannes Berg    2012-05-10  2254   *
> @radiotap_mcs_details: lists which MCS information can the HW
> ac55d2fe05 Johannes Berg    2012-05-10  2255   *	reports, by default
> it is set to _MCS, _GI and _BW but doesn't
> b4f7f4ad42 Jani Nikula      2016-10-21  2256   *	include _FMT. Use
> %IEEE80211_RADIOTAP_MCS_HAVE_\* values, only
> ac55d2fe05 Johannes Berg    2012-05-10  2257   *	adding _BW is 
> supported today.
> 72d7872852 Arik Nemtsov     2012-05-10  2258   *
> 5164892184 Johannes Berg    2012-11-22  2259   *
> @radiotap_vht_details: lists which VHT MCS information the HW reports,
> 5164892184 Johannes Berg    2012-11-22  2260   *	the default is _GI |
> _BANDWIDTH.
> b4f7f4ad42 Jani Nikula      2016-10-21  2261   *	Use the
> %IEEE80211_RADIOTAP_VHT_KNOWN_\* values.
> 5164892184 Johannes Berg    2012-11-22  2262   *
> 41cbb0f5a2 Luca Coelho      2018-06-09  2263   * @radiotap_he: HE
> radiotap validity flags
> 41cbb0f5a2 Luca Coelho      2018-06-09  2264   *
> 99ee7cae3b Johannes Berg    2016-08-29  2265   * @radiotap_timestamp:
> Information for the radiotap timestamp field; if the
> 99ee7cae3b Johannes Berg    2016-08-29  2266   *	'units_pos' member is
> set to a non-negative value it must be set to
> 99ee7cae3b Johannes Berg    2016-08-29  2267   *	a combination of a
> IEEE80211_RADIOTAP_TIMESTAMP_UNIT_* and a
> 99ee7cae3b Johannes Berg    2016-08-29  2268
> *	IEEE80211_RADIOTAP_TIMESTAMP_SPOS_* value, and then the timestamp
> 99ee7cae3b Johannes Berg    2016-08-29  2269   *	field will be added
> and populated from the &struct ieee80211_rx_status
> 99ee7cae3b Johannes Berg    2016-08-29  2270   *	device_timestamp. If
> the 'accuracy' member is non-negative, it's put
> 99ee7cae3b Johannes Berg    2016-08-29  2271   *	into the accuracy
> radiotap field and the accuracy known flag is set.
> 99ee7cae3b Johannes Berg    2016-08-29  2272   *
> 72d7872852 Arik Nemtsov     2012-05-10  2273   * @netdev_features:
> netdev features to be set in each netdev created
> 680a0daba7 Johannes Berg    2015-04-13  2274   *	from this HW. Note
> that not all features are usable with mac80211,
> 680a0daba7 Johannes Berg    2015-04-13  2275   *	other features will
> be rejected during HW registration.
> 219c38674c Alexander Bondar 2013-01-22  2276   *
> 219c38674c Alexander Bondar 2013-01-22  2277   * @uapsd_queues: This
> bitmap is included in (re)association frame to indicate
> 219c38674c Alexander Bondar 2013-01-22  2278   *	for each access
> category if it is uAPSD trigger-enabled and delivery-
> 219c38674c Alexander Bondar 2013-01-22  2279   *	enabled. Use
> IEEE80211_WMM_IE_STA_QOSINFO_AC_* to set this bitmap.
> 219c38674c Alexander Bondar 2013-01-22  2280   *	Each bit corresponds
> to different AC. Value '1' in specific bit means
> 219c38674c Alexander Bondar 2013-01-22  2281   *	that corresponding AC
> is both trigger- and delivery-enabled. '0' means
> 219c38674c Alexander Bondar 2013-01-22  2282   *	neither enabled.
> 219c38674c Alexander Bondar 2013-01-22  2283   *
> 219c38674c Alexander Bondar 2013-01-22  2284   * @uapsd_max_sp_len:
> maximum number of total buffered frames the WMM AP may
> 219c38674c Alexander Bondar 2013-01-22  2285   *	deliver to a WMM STA
> during any Service Period triggered by the WMM STA.
> 219c38674c Alexander Bondar 2013-01-22  2286   *	Use
> IEEE80211_WMM_IE_STA_QOSINFO_SP_* for correct values.
> 2475b1cc0d Max Stepanov     2013-03-24  2287   *
> 2475b1cc0d Max Stepanov     2013-03-24  2288   * @n_cipher_schemes: a
> size of an array of cipher schemes definitions.
> 2475b1cc0d Max Stepanov     2013-03-24  2289   * @cipher_schemes: a
> pointer to an array of cipher scheme definitions
> 2475b1cc0d Max Stepanov     2013-03-24  2290   *	supported by HW.
> 167e33f4f6 Ayala Beker      2016-09-20  2291   * @max_nan_de_entries:
> maximum number of NAN DE functions supported by the
> 167e33f4f6 Ayala Beker      2016-09-20  2292   *	device.
> 7ac1bd6aec Johannes Berg    2007-09-14  2293   */
> f0706e828e Jiri Benc        2007-05-05  2294  struct ieee80211_hw {
> f0706e828e Jiri Benc        2007-05-05  2295  	struct ieee80211_conf 
> conf;
> 75a5f0ccfd Johannes Berg    2007-09-18  2296  	struct wiphy *wiphy;
> 830f903866 Johannes Berg    2007-10-28  2297  	const char
> *rate_control_algorithm;
> f0706e828e Jiri Benc        2007-05-05  2298  	void *priv;
> 30686bf7f5 Johannes Berg    2015-06-02  2299  	unsigned long
> flags[BITS_TO_LONGS(NUM_IEEE80211_HW_FLAGS)];
> f0706e828e Jiri Benc        2007-05-05  2300  	unsigned int 
> extra_tx_headroom;
> 70dabeb74e Felix Fietkau    2013-12-14  2301  	unsigned int
> extra_beacon_tailroom;
> 32bfd35d4b Johannes Berg    2007-12-19  2302  	int vif_data_size;
> 17741cdc26 Johannes Berg    2008-09-11  2303  	int sta_data_size;
> d01a1e6586 Michal Kazior    2012-06-26  2304  	int chanctx_data_size;
> ba8c3d6f16 Felix Fietkau    2015-03-27  2305  	int txq_data_size;
> ea95bba41e Tomas Winkler    2008-07-18  2306  	u16 queues;
> ea95bba41e Tomas Winkler    2008-07-18  2307  	u16 max_listen_interval;
> f0706e828e Jiri Benc        2007-05-05  2308  	s8 max_signal;
> e6a9854b05 Johannes Berg    2008-10-21  2309  	u8 max_rates;
> 78be49ec2a Helmut Schaa     2010-10-02  2310  	u8 max_report_rates;
> e6a9854b05 Johannes Berg    2008-10-21  2311  	u8 max_rate_tries;
> 41cbb0f5a2 Luca Coelho      2018-06-09  2312  	u16 
> max_rx_aggregation_subframes;
> 41cbb0f5a2 Luca Coelho      2018-06-09  2313  	u16 
> max_tx_aggregation_subframes;
> 6e0456b545 Felix Fietkau    2016-03-03  2314  	u8 max_tx_fragments;
> 3a25a8c8b7 Johannes Berg    2012-04-03  2315  	u8 
> offchannel_tx_hw_queue;
> ac55d2fe05 Johannes Berg    2012-05-10  2316  	u8 radiotap_mcs_details;
> 5164892184 Johannes Berg    2012-11-22  2317  	u16 
> radiotap_vht_details;
> 99ee7cae3b Johannes Berg    2016-08-29  2318  	struct {
> 99ee7cae3b Johannes Berg    2016-08-29  2319  		int units_pos;
> 99ee7cae3b Johannes Berg    2016-08-29  2320  		s16 accuracy;
> 99ee7cae3b Johannes Berg    2016-08-29  2321  	} radiotap_timestamp;
> 72d7872852 Arik Nemtsov     2012-05-10  2322  	netdev_features_t
> netdev_features;
> 219c38674c Alexander Bondar 2013-01-22  2323  	u8 uapsd_queues;
> 219c38674c Alexander Bondar 2013-01-22  2324  	u8 uapsd_max_sp_len;
> 2475b1cc0d Max Stepanov     2013-03-24  2325  	u8 n_cipher_schemes;
> 2475b1cc0d Max Stepanov     2013-03-24  2326  	const struct
> ieee80211_cipher_scheme *cipher_schemes;
> 167e33f4f6 Ayala Beker      2016-09-20  2327  	u8 max_nan_de_entries;
> c03233ae8c Wen Gong         2018-07-26  2328  	u8 tx_sk_pacing_shift;
> f0706e828e Jiri Benc        2007-05-05 @2329  };
> f0706e828e Jiri Benc        2007-05-05  2330
> 
> :::::: The code at line 2329 was first introduced by commit
> :::::: f0706e828e96d0fa4e80c0d25aa98523f6d589a0 [MAC80211]: Add
> mac80211 wireless stack.
> 
> :::::: TO: Jiri Benc <jbenc@suse.cz>
> :::::: CC: David S. Miller <davem@davemloft.net>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology 
> Center
> https://lists.01.org/pipermail/kbuild-all                   Intel 
> Corporation

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] mac80211: Save sk_pacing_shift to ieee80211_hw
@ 2018-07-27  8:35       ` Wen Gong
  0 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-27  8:35 UTC (permalink / raw)
  To: kbuild test robot; +Cc: johannes, linux-wireless, kbuild-all, ath10k

Thanks,
I will add description of tx_sk_pacing_shift as below and sent next 
patch.
*
* @tx_sk_pacing_shift: The TCP stack allow more than a single ms of data
*     to be queued in the stack. The value is a bit-shift of 1 second, 
e.g. 8
*     is ~4ms of queued data. It only affects local TCP sockets.
*/

On 2018-07-26 22:52, kbuild test robot wrote:
> Hi Wen,
> 
> Thank you for the patch! Perhaps something to improve:
> 
> [auto build test WARNING on mac80211-next/master]
> [also build test WARNING on v4.18-rc6 next-20180725]
> [if your patch is applied to the wrong git tree, please drop us a note
> to help improve the system]
> 
> url:
> https://github.com/0day-ci/linux/commits/Wen-Gong/Change-sk_pacing_shift-in-ieee80211_hw-for-best-tx-throughput/20180726-190055
> base:
> https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
> master
> reproduce: make htmldocs
> 
> All warnings (new ones prefixed by >>):
> 
>    WARNING: convert(1) not found, for SVG to PDF conversion install
> ImageMagick (https://www.imagemagick.org)
>    mm/mempool.c:228: warning: Function parameter or member 'pool' not
> described in 'mempool_init'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.ibss' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.connect' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.keys' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.ie' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.ie_len' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.bssid' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.ssid' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.default_key' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.default_mgmt_key' not described in 'wireless_dev'
>    include/net/cfg80211.h:4381: warning: Function parameter or member
> 'wext.prev_bssid_valid' not described in 'wireless_dev'
>    include/net/mac80211.h:2329: warning: Function parameter or member
> 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw'
>    include/net/mac80211.h:2329: warning: Function parameter or member
> 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw'
>>> include/net/mac80211.h:2329: warning: Function parameter or member 
>>> 'tx_sk_pacing_shift' not described in 'ieee80211_hw'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.rates' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.use_rts' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.use_cts_prot' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.short_preamble' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.skip_table' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.jiffies' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.vif' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.hw_key' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.flags' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'control.enqueue_time' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'ack' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'ack.cookie' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.rates' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.ack_signal' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.ampdu_ack_len' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.ampdu_len' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.antenna' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.tx_time' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'status.status_driver_data' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'driver_rates' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'pad' not described in 'ieee80211_tx_info'
>    include/net/mac80211.h:977: warning: Function parameter or member
> 'rate_driver_data' not described in 'ieee80211_tx_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'rx_stats_avg' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'rx_stats_avg.signal' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'rx_stats_avg.chain_signal' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.filtered' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.retry_failed' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.retry_count' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.lost_packets' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.last_tdls_pkt_time' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.msdu_retries' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.msdu_failed' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.last_ack' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.last_ack_signal' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.ack_signal_filled' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'status_stats.avg_ack_signal' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'tx_stats.packets' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'tx_stats.bytes' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'tx_stats.last_rate' not described in 'sta_info'
>    net/mac80211/sta_info.h:588: warning: Function parameter or member
> 'tx_stats.msdu' not described in 'sta_info'
>    kernel/sched/fair.c:3760: warning: Function parameter or member
> 'flags' not described in 'attach_entity_load_avg'
>    include/linux/device.h:93: warning: bad line: this bus.
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_excl.cb' not described in 'dma_buf'
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_excl.poll' not described in 'dma_buf'
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_excl.active' not described in 'dma_buf'
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_shared.cb' not described in 'dma_buf'
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_shared.poll' not described in 'dma_buf'
>    include/linux/dma-buf.h:307: warning: Function parameter or member
> 'cb_shared.active' not described in 'dma_buf'
>    include/linux/dma-fence-array.h:54: warning: Function parameter or
> member 'work' not described in 'dma_fence_array'
>    include/linux/gpio/driver.h:142: warning: Function parameter or
> member 'request_key' not described in 'gpio_irq_chip'
>    include/linux/iio/hw-consumer.h:1: warning: no structured comments 
> found
>    include/linux/device.h:94: warning: bad line: this bus.
>    include/linux/input/sparse-keymap.h:46: warning: Function parameter
> or member 'sw' not described in 'key_entry'
>    include/linux/regulator/driver.h:227: warning: Function parameter
> or member 'resume_early' not described in 'regulator_ops'
>    drivers/regulator/core.c:4465: warning: Excess function parameter
> 'state' description in 'regulator_suspend_late'
>    arch/s390/include/asm/cio.h:245: warning: Function parameter or
> member 'esw.esw0' not described in 'irb'
>    arch/s390/include/asm/cio.h:245: warning: Function parameter or
> member 'esw.esw1' not described in 'irb'
>    arch/s390/include/asm/cio.h:245: warning: Function parameter or
> member 'esw.esw2' not described in 'irb'
>    arch/s390/include/asm/cio.h:245: warning: Function parameter or
> member 'esw.esw3' not described in 'irb'
>    arch/s390/include/asm/cio.h:245: warning: Function parameter or
> member 'esw.eadm' not described in 'irb'
>    drivers/usb/dwc3/gadget.c:510: warning: Excess function parameter
> 'dwc' description in 'dwc3_gadget_start_config'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_pin' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_unpin' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_res_obj' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_get_sg_table' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_import_sg_table' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_vmap' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_vunmap' not described in 'drm_driver'
>    include/drm/drm_drv.h:610: warning: Function parameter or member
> 'gem_prime_mmap' not described in 'drm_driver'
>    drivers/gpu/drm/i915/i915_vma.h:48: warning: cannot understand
> function prototype: 'struct i915_vma '
>    drivers/gpu/drm/i915/i915_vma.h:1: warning: no structured comments 
> found
>    include/drm/tinydrm/tinydrm.h:34: warning: Function parameter or
> member 'fb_dirty' not described in 'tinydrm_device'
>    drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter
> or member 'crtc_state' not described in 'mipi_dbi_enable_flush'
>    drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter
> or member 'plane_state' not described in 'mipi_dbi_enable_flush'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'dev_scratch' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'ip_defrag_offset' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'list' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'skb_mstamp' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> '__cloned_offset' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'head_frag' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> '__unused' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> '__pkt_type_offset' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'pfmemalloc' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'encapsulation' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'encap_hdr_csum' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'csum_valid' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'csum_complete_sw' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'csum_level' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'inner_protocol_type' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'remcsum_offload' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'offload_fwd_mark' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'offload_mr_fwd_mark' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'sender_cpu' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'reserved_tailroom' not described in 'sk_buff'
>    include/linux/skbuff.h:853: warning: Function parameter or member
> 'inner_ipproto' not described in 'sk_buff'
>    include/net/sock.h:238: warning: Function parameter or member
> 'skc_addrpair' not described in 'sock_common'
>    include/net/sock.h:238: warning: Function parameter or member
> 'skc_portpair' not described in 'sock_common'
>    include/net/sock.h:238: warning: Function parameter or member
> 'skc_ipv6only' not described in 'sock_common'
> 
> vim +2329 include/net/mac80211.h
> 
> 1bc0826c8f Johannes Berg    2007-09-18  2179
> 7ac1bd6aec Johannes Berg    2007-09-14  2180  /**
> 7ac1bd6aec Johannes Berg    2007-09-14  2181   * struct ieee80211_hw -
> hardware information and state
> 75a5f0ccfd Johannes Berg    2007-09-18  2182   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2183   * This structure
> contains the configuration and hardware
> 75a5f0ccfd Johannes Berg    2007-09-18  2184   * information for an 
> 802.11 PHY.
> 75a5f0ccfd Johannes Berg    2007-09-18  2185   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2186   * @wiphy: This points
> to the &struct wiphy allocated for this
> 75a5f0ccfd Johannes Berg    2007-09-18  2187   *	802.11 PHY. You must
> fill in the @perm_addr and @dev
> 75a5f0ccfd Johannes Berg    2007-09-18  2188   *	members of this
> structure using SET_IEEE80211_DEV()
> 8318d78a44 Johannes Berg    2008-01-24  2189   *	and
> SET_IEEE80211_PERM_ADDR(). Additionally, all supported
> 8318d78a44 Johannes Berg    2008-01-24  2190   *	bands (with channels,
> bitrates) are registered here.
> 75a5f0ccfd Johannes Berg    2007-09-18  2191   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2192   * @conf: &struct
> ieee80211_conf, device configuration, don't use.
> 75a5f0ccfd Johannes Berg    2007-09-18  2193   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2194   * @priv: pointer to
> private area that was allocated for driver use
> 75a5f0ccfd Johannes Berg    2007-09-18  2195   *	along with this 
> structure.
> 75a5f0ccfd Johannes Berg    2007-09-18  2196   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2197   * @flags: hardware
> flags, see &enum ieee80211_hw_flags.
> 75a5f0ccfd Johannes Berg    2007-09-18  2198   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2199   * @extra_tx_headroom:
> headroom to reserve in each transmit skb
> 75a5f0ccfd Johannes Berg    2007-09-18  2200   *	for use by the driver
> (e.g. for transmit headers.)
> 75a5f0ccfd Johannes Berg    2007-09-18  2201   *
> 70dabeb74e Felix Fietkau    2013-12-14  2202   *
> @extra_beacon_tailroom: tailroom to reserve in each beacon tx skb.
> 70dabeb74e Felix Fietkau    2013-12-14  2203   *	Can be used by
> drivers to add extra IEs.
> 75a5f0ccfd Johannes Berg    2007-09-18  2204   *
> 566bfe5a8b Bruno Randolf    2008-05-08  2205   * @max_signal: Maximum
> value for signal (rssi) in RX information, used
> 566bfe5a8b Bruno Randolf    2008-05-08  2206   *	only when
> @IEEE80211_HW_SIGNAL_UNSPEC or @IEEE80211_HW_SIGNAL_DB
> 75a5f0ccfd Johannes Berg    2007-09-18  2207   *
> ea95bba41e Tomas Winkler    2008-07-18  2208   * @max_listen_interval:
> max listen interval in units of beacon interval
> ea95bba41e Tomas Winkler    2008-07-18  2209   *	that HW supports
> ea95bba41e Tomas Winkler    2008-07-18  2210   *
> 75a5f0ccfd Johannes Berg    2007-09-18  2211   * @queues: number of
> available hardware transmit queues for
> e100bb64bf Johannes Berg    2008-04-30  2212   *	data packets. WMM/QoS
> requires at least four, these
> e100bb64bf Johannes Berg    2008-04-30  2213   *	queues need to have
> configurable access parameters.
> e100bb64bf Johannes Berg    2008-04-30  2214   *
> 830f903866 Johannes Berg    2007-10-28  2215   *
> @rate_control_algorithm: rate control algorithm for this hardware.
> 830f903866 Johannes Berg    2007-10-28  2216   *	If unset (NULL), the
> default algorithm will be used. Must be
> 830f903866 Johannes Berg    2007-10-28  2217   *	set before calling
> ieee80211_register_hw().
> 32bfd35d4b Johannes Berg    2007-12-19  2218   *
> 32bfd35d4b Johannes Berg    2007-12-19  2219   * @vif_data_size: size
> (in bytes) of the drv_priv data area
> 32bfd35d4b Johannes Berg    2007-12-19  2220   *	within &struct 
> ieee80211_vif.
> 17741cdc26 Johannes Berg    2008-09-11  2221   * @sta_data_size: size
> (in bytes) of the drv_priv data area
> 17741cdc26 Johannes Berg    2008-09-11  2222   *	within &struct 
> ieee80211_sta.
> d01a1e6586 Michal Kazior    2012-06-26  2223   * @chanctx_data_size:
> size (in bytes) of the drv_priv data area
> d01a1e6586 Michal Kazior    2012-06-26  2224   *	within &struct
> ieee80211_chanctx_conf.
> ba8c3d6f16 Felix Fietkau    2015-03-27  2225   * @txq_data_size: size
> (in bytes) of the drv_priv data area
> ba8c3d6f16 Felix Fietkau    2015-03-27  2226   *	within @struct 
> ieee80211_txq.
> 870abdf671 Felix Fietkau    2008-10-05  2227   *
> 78be49ec2a Helmut Schaa     2010-10-02  2228   * @max_rates: maximum
> number of alternate rate retry stages the hw
> 78be49ec2a Helmut Schaa     2010-10-02  2229   *	can handle.
> 78be49ec2a Helmut Schaa     2010-10-02  2230   * @max_report_rates:
> maximum number of alternate rate retry stages
> 78be49ec2a Helmut Schaa     2010-10-02  2231   *	the hw can report 
> back.
> e6a9854b05 Johannes Berg    2008-10-21  2232   * @max_rate_tries:
> maximum number of tries for each stage
> 4e6cbfd09c John W. Linville 2010-07-29  2233   *
> df6ba5d80d Luciano Coelho   2011-01-12  2234   *
> @max_rx_aggregation_subframes: maximum buffer size (number of
> df6ba5d80d Luciano Coelho   2011-01-12  2235   *	sub-frames) to be
> used for A-MPDU block ack receiver
> df6ba5d80d Luciano Coelho   2011-01-12  2236   *	aggregation.
> df6ba5d80d Luciano Coelho   2011-01-12  2237   *	This is only relevant
> if the device has restrictions on the
> df6ba5d80d Luciano Coelho   2011-01-12  2238   *	number of subframes,
> if it relies on mac80211 to do reordering
> df6ba5d80d Luciano Coelho   2011-01-12  2239   *	it shouldn't be set.
> 5dd36bc933 Johannes Berg    2011-01-18  2240   *
> 5dd36bc933 Johannes Berg    2011-01-18  2241   *
> @max_tx_aggregation_subframes: maximum number of subframes in an
> 41cbb0f5a2 Luca Coelho      2018-06-09  2242   *	aggregate an HT/HE
> device will transmit. In HT AddBA we'll
> 41cbb0f5a2 Luca Coelho      2018-06-09  2243   *	advertise a constant
> value of 64 as some older APs crash if
> 41cbb0f5a2 Luca Coelho      2018-06-09  2244   *	the window size is
> smaller (an example is LinkSys WRT120N
> 41cbb0f5a2 Luca Coelho      2018-06-09  2245   *	with FW v1.0.07 build
> 002 Jun 18 2012).
> 41cbb0f5a2 Luca Coelho      2018-06-09  2246   *	For AddBA to HE
> capable peers this value will be used.
> 3a25a8c8b7 Johannes Berg    2012-04-03  2247   *
> 6e0456b545 Felix Fietkau    2016-03-03  2248   * @max_tx_fragments:
> maximum number of tx buffers per (A)-MSDU, sum
> 6e0456b545 Felix Fietkau    2016-03-03  2249   *	of 1 +
> skb_shinfo(skb)->nr_frags for each skb in the frag_list.
> 6e0456b545 Felix Fietkau    2016-03-03  2250   *
> 3a25a8c8b7 Johannes Berg    2012-04-03  2251   *
> @offchannel_tx_hw_queue: HW queue ID to use for offchannel TX
> 3a25a8c8b7 Johannes Berg    2012-04-03  2252   *	(if
> %IEEE80211_HW_QUEUE_CONTROL is set)
> ac55d2fe05 Johannes Berg    2012-05-10  2253   *
> ac55d2fe05 Johannes Berg    2012-05-10  2254   *
> @radiotap_mcs_details: lists which MCS information can the HW
> ac55d2fe05 Johannes Berg    2012-05-10  2255   *	reports, by default
> it is set to _MCS, _GI and _BW but doesn't
> b4f7f4ad42 Jani Nikula      2016-10-21  2256   *	include _FMT. Use
> %IEEE80211_RADIOTAP_MCS_HAVE_\* values, only
> ac55d2fe05 Johannes Berg    2012-05-10  2257   *	adding _BW is 
> supported today.
> 72d7872852 Arik Nemtsov     2012-05-10  2258   *
> 5164892184 Johannes Berg    2012-11-22  2259   *
> @radiotap_vht_details: lists which VHT MCS information the HW reports,
> 5164892184 Johannes Berg    2012-11-22  2260   *	the default is _GI |
> _BANDWIDTH.
> b4f7f4ad42 Jani Nikula      2016-10-21  2261   *	Use the
> %IEEE80211_RADIOTAP_VHT_KNOWN_\* values.
> 5164892184 Johannes Berg    2012-11-22  2262   *
> 41cbb0f5a2 Luca Coelho      2018-06-09  2263   * @radiotap_he: HE
> radiotap validity flags
> 41cbb0f5a2 Luca Coelho      2018-06-09  2264   *
> 99ee7cae3b Johannes Berg    2016-08-29  2265   * @radiotap_timestamp:
> Information for the radiotap timestamp field; if the
> 99ee7cae3b Johannes Berg    2016-08-29  2266   *	'units_pos' member is
> set to a non-negative value it must be set to
> 99ee7cae3b Johannes Berg    2016-08-29  2267   *	a combination of a
> IEEE80211_RADIOTAP_TIMESTAMP_UNIT_* and a
> 99ee7cae3b Johannes Berg    2016-08-29  2268
> *	IEEE80211_RADIOTAP_TIMESTAMP_SPOS_* value, and then the timestamp
> 99ee7cae3b Johannes Berg    2016-08-29  2269   *	field will be added
> and populated from the &struct ieee80211_rx_status
> 99ee7cae3b Johannes Berg    2016-08-29  2270   *	device_timestamp. If
> the 'accuracy' member is non-negative, it's put
> 99ee7cae3b Johannes Berg    2016-08-29  2271   *	into the accuracy
> radiotap field and the accuracy known flag is set.
> 99ee7cae3b Johannes Berg    2016-08-29  2272   *
> 72d7872852 Arik Nemtsov     2012-05-10  2273   * @netdev_features:
> netdev features to be set in each netdev created
> 680a0daba7 Johannes Berg    2015-04-13  2274   *	from this HW. Note
> that not all features are usable with mac80211,
> 680a0daba7 Johannes Berg    2015-04-13  2275   *	other features will
> be rejected during HW registration.
> 219c38674c Alexander Bondar 2013-01-22  2276   *
> 219c38674c Alexander Bondar 2013-01-22  2277   * @uapsd_queues: This
> bitmap is included in (re)association frame to indicate
> 219c38674c Alexander Bondar 2013-01-22  2278   *	for each access
> category if it is uAPSD trigger-enabled and delivery-
> 219c38674c Alexander Bondar 2013-01-22  2279   *	enabled. Use
> IEEE80211_WMM_IE_STA_QOSINFO_AC_* to set this bitmap.
> 219c38674c Alexander Bondar 2013-01-22  2280   *	Each bit corresponds
> to different AC. Value '1' in specific bit means
> 219c38674c Alexander Bondar 2013-01-22  2281   *	that corresponding AC
> is both trigger- and delivery-enabled. '0' means
> 219c38674c Alexander Bondar 2013-01-22  2282   *	neither enabled.
> 219c38674c Alexander Bondar 2013-01-22  2283   *
> 219c38674c Alexander Bondar 2013-01-22  2284   * @uapsd_max_sp_len:
> maximum number of total buffered frames the WMM AP may
> 219c38674c Alexander Bondar 2013-01-22  2285   *	deliver to a WMM STA
> during any Service Period triggered by the WMM STA.
> 219c38674c Alexander Bondar 2013-01-22  2286   *	Use
> IEEE80211_WMM_IE_STA_QOSINFO_SP_* for correct values.
> 2475b1cc0d Max Stepanov     2013-03-24  2287   *
> 2475b1cc0d Max Stepanov     2013-03-24  2288   * @n_cipher_schemes: a
> size of an array of cipher schemes definitions.
> 2475b1cc0d Max Stepanov     2013-03-24  2289   * @cipher_schemes: a
> pointer to an array of cipher scheme definitions
> 2475b1cc0d Max Stepanov     2013-03-24  2290   *	supported by HW.
> 167e33f4f6 Ayala Beker      2016-09-20  2291   * @max_nan_de_entries:
> maximum number of NAN DE functions supported by the
> 167e33f4f6 Ayala Beker      2016-09-20  2292   *	device.
> 7ac1bd6aec Johannes Berg    2007-09-14  2293   */
> f0706e828e Jiri Benc        2007-05-05  2294  struct ieee80211_hw {
> f0706e828e Jiri Benc        2007-05-05  2295  	struct ieee80211_conf 
> conf;
> 75a5f0ccfd Johannes Berg    2007-09-18  2296  	struct wiphy *wiphy;
> 830f903866 Johannes Berg    2007-10-28  2297  	const char
> *rate_control_algorithm;
> f0706e828e Jiri Benc        2007-05-05  2298  	void *priv;
> 30686bf7f5 Johannes Berg    2015-06-02  2299  	unsigned long
> flags[BITS_TO_LONGS(NUM_IEEE80211_HW_FLAGS)];
> f0706e828e Jiri Benc        2007-05-05  2300  	unsigned int 
> extra_tx_headroom;
> 70dabeb74e Felix Fietkau    2013-12-14  2301  	unsigned int
> extra_beacon_tailroom;
> 32bfd35d4b Johannes Berg    2007-12-19  2302  	int vif_data_size;
> 17741cdc26 Johannes Berg    2008-09-11  2303  	int sta_data_size;
> d01a1e6586 Michal Kazior    2012-06-26  2304  	int chanctx_data_size;
> ba8c3d6f16 Felix Fietkau    2015-03-27  2305  	int txq_data_size;
> ea95bba41e Tomas Winkler    2008-07-18  2306  	u16 queues;
> ea95bba41e Tomas Winkler    2008-07-18  2307  	u16 max_listen_interval;
> f0706e828e Jiri Benc        2007-05-05  2308  	s8 max_signal;
> e6a9854b05 Johannes Berg    2008-10-21  2309  	u8 max_rates;
> 78be49ec2a Helmut Schaa     2010-10-02  2310  	u8 max_report_rates;
> e6a9854b05 Johannes Berg    2008-10-21  2311  	u8 max_rate_tries;
> 41cbb0f5a2 Luca Coelho      2018-06-09  2312  	u16 
> max_rx_aggregation_subframes;
> 41cbb0f5a2 Luca Coelho      2018-06-09  2313  	u16 
> max_tx_aggregation_subframes;
> 6e0456b545 Felix Fietkau    2016-03-03  2314  	u8 max_tx_fragments;
> 3a25a8c8b7 Johannes Berg    2012-04-03  2315  	u8 
> offchannel_tx_hw_queue;
> ac55d2fe05 Johannes Berg    2012-05-10  2316  	u8 radiotap_mcs_details;
> 5164892184 Johannes Berg    2012-11-22  2317  	u16 
> radiotap_vht_details;
> 99ee7cae3b Johannes Berg    2016-08-29  2318  	struct {
> 99ee7cae3b Johannes Berg    2016-08-29  2319  		int units_pos;
> 99ee7cae3b Johannes Berg    2016-08-29  2320  		s16 accuracy;
> 99ee7cae3b Johannes Berg    2016-08-29  2321  	} radiotap_timestamp;
> 72d7872852 Arik Nemtsov     2012-05-10  2322  	netdev_features_t
> netdev_features;
> 219c38674c Alexander Bondar 2013-01-22  2323  	u8 uapsd_queues;
> 219c38674c Alexander Bondar 2013-01-22  2324  	u8 uapsd_max_sp_len;
> 2475b1cc0d Max Stepanov     2013-03-24  2325  	u8 n_cipher_schemes;
> 2475b1cc0d Max Stepanov     2013-03-24  2326  	const struct
> ieee80211_cipher_scheme *cipher_schemes;
> 167e33f4f6 Ayala Beker      2016-09-20  2327  	u8 max_nan_de_entries;
> c03233ae8c Wen Gong         2018-07-26  2328  	u8 tx_sk_pacing_shift;
> f0706e828e Jiri Benc        2007-05-05 @2329  };
> f0706e828e Jiri Benc        2007-05-05  2330
> 
> :::::: The code at line 2329 was first introduced by commit
> :::::: f0706e828e96d0fa4e80c0d25aa98523f6d589a0 [MAC80211]: Add
> mac80211 wireless stack.
> 
> :::::: TO: Jiri Benc <jbenc@suse.cz>
> :::::: CC: David S. Miller <davem@davemloft.net>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology 
> Center
> https://lists.01.org/pipermail/kbuild-all                   Intel 
> Corporation

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
  2018-07-26 11:45     ` Toke Høiland-Jørgensen
@ 2018-07-27  9:29       ` Wen Gong
  -1 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-27  9:29 UTC (permalink / raw)
  To: Toke Høiland-Jørgensen; +Cc: ath10k, johannes, linux-wireless

On 2018-07-26 19:45, Toke Høiland-Jørgensen wrote:
> Wen Gong <wgong@codeaurora.org> writes:
> 
>> Upstream kernel has an interface to help adjust sk_pacing_shift to 
>> help
>> improve TCP UL throughput.
>> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
>> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
>> VHT80 TCP UL throughput testing result shows 6 is the optimal.
>> Overwrite the sk_pacing_shift to 6 in ath10k driver.
> 
> When I tested this, a pacing shift of 8 was quite close to optimal as
> well for ath10k. Why are you getting different results?

the default value is still 8 in the patch:
https://patchwork.kernel.org/patch/10545361/

In my test, pacing shift 6 is better than 8.
The test is for ath10k/11AC WiFi chips.
Test result is show in the commit logs before.
> 
>> Tested with QCA6174 PCI with firmware
>> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 
>> PCI.
>> It's not a regression with new firmware releases.
>> 
>> There have 2 test result of different settings:
>> 
>> ARM CPU based device with QCA6174A PCI with different
>> sk_pacing_shift:
>> 
>>  sk_pacing_shift  throughput(Mbps)             CPU utilization
>>          6            500(-P5)      ~75% idle, Focus on CPU1: ~14%idle
>>          7            454(-P5)      ~80% idle, Focus on CPU1: ~4%idle
>>          8               288        ~90% idle, Focus on CPU1: ~35%idle
>>          9              ~200        ~92% idle, Focus on CPU1: ~50%idle
> 
> Your tests do not include latency values; please try running a test 
> that
> also measures latency. The tcp_nup test in Flent (https://flent.org)
> will do that, for instance. Also, is this a single TCP flow?
> 

It is not a single TCP flow, it is 500Mbps with 5 flows.

below is result show in commit log before:
5G TCP UL VTH80 on X86 platform with QCA6174A PCI with sk_packing_shift
set to 6:

   tcp_limit_output_bytes            throughput(Mbps)
  default(262144)+1 Stream                 336
  default(262144)+2 Streams                558
  default(262144)+3 Streams                584
  default(262144)+4 Streams                602
  default(262144)+5 Streams                598
  changed(2621440)+1 Stream                598
  changed(2621440)+2 Streams               601

> -Toke

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
@ 2018-07-27  9:29       ` Wen Gong
  0 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-27  9:29 UTC (permalink / raw)
  To: Toke Høiland-Jørgensen; +Cc: johannes, linux-wireless, ath10k

On 2018-07-26 19:45, Toke Høiland-Jørgensen wrote:
> Wen Gong <wgong@codeaurora.org> writes:
> 
>> Upstream kernel has an interface to help adjust sk_pacing_shift to 
>> help
>> improve TCP UL throughput.
>> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
>> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
>> VHT80 TCP UL throughput testing result shows 6 is the optimal.
>> Overwrite the sk_pacing_shift to 6 in ath10k driver.
> 
> When I tested this, a pacing shift of 8 was quite close to optimal as
> well for ath10k. Why are you getting different results?

the default value is still 8 in the patch:
https://patchwork.kernel.org/patch/10545361/

In my test, pacing shift 6 is better than 8.
The test is for ath10k/11AC WiFi chips.
Test result is show in the commit logs before.
> 
>> Tested with QCA6174 PCI with firmware
>> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 
>> PCI.
>> It's not a regression with new firmware releases.
>> 
>> There have 2 test result of different settings:
>> 
>> ARM CPU based device with QCA6174A PCI with different
>> sk_pacing_shift:
>> 
>>  sk_pacing_shift  throughput(Mbps)             CPU utilization
>>          6            500(-P5)      ~75% idle, Focus on CPU1: ~14%idle
>>          7            454(-P5)      ~80% idle, Focus on CPU1: ~4%idle
>>          8               288        ~90% idle, Focus on CPU1: ~35%idle
>>          9              ~200        ~92% idle, Focus on CPU1: ~50%idle
> 
> Your tests do not include latency values; please try running a test 
> that
> also measures latency. The tcp_nup test in Flent (https://flent.org)
> will do that, for instance. Also, is this a single TCP flow?
> 

It is not a single TCP flow, it is 500Mbps with 5 flows.

below is result show in commit log before:
5G TCP UL VTH80 on X86 platform with QCA6174A PCI with sk_packing_shift
set to 6:

   tcp_limit_output_bytes            throughput(Mbps)
  default(262144)+1 Stream                 336
  default(262144)+2 Streams                558
  default(262144)+3 Streams                584
  default(262144)+4 Streams                602
  default(262144)+5 Streams                598
  changed(2621440)+1 Stream                598
  changed(2621440)+2 Streams               601

> -Toke

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] mac80211: Save sk_pacing_shift to ieee80211_hw
  2018-07-27  8:35       ` Wen Gong
@ 2018-07-27  9:30         ` Kalle Valo
  -1 siblings, 0 replies; 26+ messages in thread
From: Kalle Valo @ 2018-07-27  9:30 UTC (permalink / raw)
  To: Wen Gong; +Cc: kbuild test robot, kbuild-all, ath10k, johannes, linux-wireless

Wen Gong <wgong@codeaurora.org> writes:

> Thanks,
> I will add description of tx_sk_pacing_shift as below and sent next
> patch.
> *
> * @tx_sk_pacing_shift: The TCP stack allow more than a single ms of data
> *     to be queued in the stack. The value is a bit-shift of 1 second,
> e.g. 8
> *     is ~4ms of queued data. It only affects local TCP sockets.
> */

Please don't top post:

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#do_not_top_post_and_edit_your_quotes

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] mac80211: Save sk_pacing_shift to ieee80211_hw
@ 2018-07-27  9:30         ` Kalle Valo
  0 siblings, 0 replies; 26+ messages in thread
From: Kalle Valo @ 2018-07-27  9:30 UTC (permalink / raw)
  To: Wen Gong; +Cc: johannes, linux-wireless, kbuild test robot, ath10k, kbuild-all

Wen Gong <wgong@codeaurora.org> writes:

> Thanks,
> I will add description of tx_sk_pacing_shift as below and sent next
> patch.
> *
> * @tx_sk_pacing_shift: The TCP stack allow more than a single ms of data
> *     to be queued in the stack. The value is a bit-shift of 1 second,
> e.g. 8
> *     is ~4ms of queued data. It only affects local TCP sockets.
> */

Please don't top post:

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#do_not_top_post_and_edit_your_quotes

-- 
Kalle Valo

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
  2018-07-26 13:02       ` Michał Kazior
@ 2018-07-27  9:39         ` Wen Gong
  -1 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-27  9:39 UTC (permalink / raw)
  To: Michał Kazior
  Cc: Toke Høiland-Jørgensen, ath10k, Johannes Berg, linux-wireless

On 2018-07-26 21:02, Michał Kazior wrote:
> On 26 July 2018 at 13:45, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>> Wen Gong <wgong@codeaurora.org> writes:
>> 
>>> Upstream kernel has an interface to help adjust sk_pacing_shift to 
>>> help
>>> improve TCP UL throughput.
>>> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
>>> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
>>> VHT80 TCP UL throughput testing result shows 6 is the optimal.
>>> Overwrite the sk_pacing_shift to 6 in ath10k driver.
>> 
>> When I tested this, a pacing shift of 8 was quite close to optimal as
>> well for ath10k. Why are you getting different results?
>> 
>>> Tested with QCA6174 PCI with firmware
>>> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 
>>> PCI.
>>> It's not a regression with new firmware releases.
>>> 
>>> There have 2 test result of different settings:
>>> 
>>> ARM CPU based device with QCA6174A PCI with different
>>> sk_pacing_shift:
> 
> Different firmware releases have different tx buffering
> characteristics. In some 10.2 firmware running on QCA9888 you can have
> up to 5ms of delayed aggregation. Ideally sk_pacing_shift should be
> adjusted per firmware release. Maybe this should become part of the
> ath10k firmware wrapping "fw features" stuff?
> 
recently we do not want to do like this since no test data for each 
firmware.
> 
> Michał

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
@ 2018-07-27  9:39         ` Wen Gong
  0 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-27  9:39 UTC (permalink / raw)
  To: Michał Kazior
  Cc: Johannes Berg, Toke Høiland-Jørgensen, linux-wireless, ath10k

On 2018-07-26 21:02, Michał Kazior wrote:
> On 26 July 2018 at 13:45, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>> Wen Gong <wgong@codeaurora.org> writes:
>> 
>>> Upstream kernel has an interface to help adjust sk_pacing_shift to 
>>> help
>>> improve TCP UL throughput.
>>> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
>>> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
>>> VHT80 TCP UL throughput testing result shows 6 is the optimal.
>>> Overwrite the sk_pacing_shift to 6 in ath10k driver.
>> 
>> When I tested this, a pacing shift of 8 was quite close to optimal as
>> well for ath10k. Why are you getting different results?
>> 
>>> Tested with QCA6174 PCI with firmware
>>> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 
>>> PCI.
>>> It's not a regression with new firmware releases.
>>> 
>>> There have 2 test result of different settings:
>>> 
>>> ARM CPU based device with QCA6174A PCI with different
>>> sk_pacing_shift:
> 
> Different firmware releases have different tx buffering
> characteristics. In some 10.2 firmware running on QCA9888 you can have
> up to 5ms of delayed aggregation. Ideally sk_pacing_shift should be
> adjusted per firmware release. Maybe this should become part of the
> ath10k firmware wrapping "fw features" stuff?
> 
recently we do not want to do like this since no test data for each 
firmware.
> 
> Michał

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
  2018-07-27  9:39         ` Wen Gong
@ 2018-07-27 12:33           ` Michał Kazior
  -1 siblings, 0 replies; 26+ messages in thread
From: Michał Kazior @ 2018-07-27 12:33 UTC (permalink / raw)
  To: Wen Gong
  Cc: Toke Høiland-Jørgensen, ath10k, Johannes Berg, linux-wireless

On 27 July 2018 at 11:39, Wen Gong <wgong@codeaurora.org> wrote:
> On 2018-07-26 21:02, Micha=C5=82 Kazior wrote:
>>
>> On 26 July 2018 at 13:45, Toke H=C3=B8iland-J=C3=B8rgensen <toke@toke.dk=
> wrote:
>>>
>>> Wen Gong <wgong@codeaurora.org> writes:
>>>
>>>> Upstream kernel has an interface to help adjust sk_pacing_shift to hel=
p
>>>> improve TCP UL throughput.
>>>> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
>>>> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
>>>> VHT80 TCP UL throughput testing result shows 6 is the optimal.
>>>> Overwrite the sk_pacing_shift to 6 in ath10k driver.
>>>
>>>
>>> When I tested this, a pacing shift of 8 was quite close to optimal as
>>> well for ath10k. Why are you getting different results?
>>>
>>>> Tested with QCA6174 PCI with firmware
>>>> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI=
.
>>>> It's not a regression with new firmware releases.
>>>>
>>>> There have 2 test result of different settings:
>>>>
>>>> ARM CPU based device with QCA6174A PCI with different
>>>> sk_pacing_shift:
>>
>>
>> Different firmware releases have different tx buffering
>> characteristics. In some 10.2 firmware running on QCA9888 you can have
>> up to 5ms of delayed aggregation. Ideally sk_pacing_shift should be
>> adjusted per firmware release. Maybe this should become part of the
>> ath10k firmware wrapping "fw features" stuff?
>>
> recently we do not want to do like this since no test data for each
> firmware.

All the more reason to *not* change the pacing shift from 8 to 6 for
entire ath10k because you have no idea what impact that is going to
have on other chips/firmwares, e.g. QCA4019, QCA9888X, QCA9984.


Micha=C5=82

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
@ 2018-07-27 12:33           ` Michał Kazior
  0 siblings, 0 replies; 26+ messages in thread
From: Michał Kazior @ 2018-07-27 12:33 UTC (permalink / raw)
  To: Wen Gong
  Cc: Johannes Berg, Toke Høiland-Jørgensen, linux-wireless, ath10k

On 27 July 2018 at 11:39, Wen Gong <wgong@codeaurora.org> wrote:
> On 2018-07-26 21:02, Michał Kazior wrote:
>>
>> On 26 July 2018 at 13:45, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>>>
>>> Wen Gong <wgong@codeaurora.org> writes:
>>>
>>>> Upstream kernel has an interface to help adjust sk_pacing_shift to help
>>>> improve TCP UL throughput.
>>>> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
>>>> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
>>>> VHT80 TCP UL throughput testing result shows 6 is the optimal.
>>>> Overwrite the sk_pacing_shift to 6 in ath10k driver.
>>>
>>>
>>> When I tested this, a pacing shift of 8 was quite close to optimal as
>>> well for ath10k. Why are you getting different results?
>>>
>>>> Tested with QCA6174 PCI with firmware
>>>> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI.
>>>> It's not a regression with new firmware releases.
>>>>
>>>> There have 2 test result of different settings:
>>>>
>>>> ARM CPU based device with QCA6174A PCI with different
>>>> sk_pacing_shift:
>>
>>
>> Different firmware releases have different tx buffering
>> characteristics. In some 10.2 firmware running on QCA9888 you can have
>> up to 5ms of delayed aggregation. Ideally sk_pacing_shift should be
>> adjusted per firmware release. Maybe this should become part of the
>> ath10k firmware wrapping "fw features" stuff?
>>
> recently we do not want to do like this since no test data for each
> firmware.

All the more reason to *not* change the pacing shift from 8 to 6 for
entire ath10k because you have no idea what impact that is going to
have on other chips/firmwares, e.g. QCA4019, QCA9888X, QCA9984.


Michał

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
  2018-07-27  9:29       ` Wen Gong
@ 2018-07-27 20:06         ` Toke Høiland-Jørgensen
  -1 siblings, 0 replies; 26+ messages in thread
From: Toke Høiland-Jørgensen @ 2018-07-27 20:06 UTC (permalink / raw)
  To: Wen Gong; +Cc: ath10k, johannes, linux-wireless

Wen Gong <wgong@codeaurora.org> writes:

> On 2018-07-26 19:45, Toke H=C3=B8iland-J=C3=B8rgensen wrote:
>> Wen Gong <wgong@codeaurora.org> writes:
>>=20
>>> Upstream kernel has an interface to help adjust sk_pacing_shift to=20
>>> help
>>> improve TCP UL throughput.
>>> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
>>> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
>>> VHT80 TCP UL throughput testing result shows 6 is the optimal.
>>> Overwrite the sk_pacing_shift to 6 in ath10k driver.
>>=20
>> When I tested this, a pacing shift of 8 was quite close to optimal as
>> well for ath10k. Why are you getting different results?
>
> the default value is still 8 in the patch:
> https://patchwork.kernel.org/patch/10545361/
>
> In my test, pacing shift 6 is better than 8.
> The test is for ath10k/11AC WiFi chips.
> Test result is show in the commit logs before.
>>=20
>>> Tested with QCA6174 PCI with firmware
>>> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377=20
>>> PCI.
>>> It's not a regression with new firmware releases.
>>>=20
>>> There have 2 test result of different settings:
>>>=20
>>> ARM CPU based device with QCA6174A PCI with different
>>> sk_pacing_shift:
>>>=20
>>>  sk_pacing_shift  throughput(Mbps)             CPU utilization
>>>          6            500(-P5)      ~75% idle, Focus on CPU1: ~14%idle
>>>          7            454(-P5)      ~80% idle, Focus on CPU1: ~4%idle
>>>          8               288        ~90% idle, Focus on CPU1: ~35%idle
>>>          9              ~200        ~92% idle, Focus on CPU1: ~50%idle
>>=20
>> Your tests do not include latency values; please try running a test=20
>> that
>> also measures latency. The tcp_nup test in Flent (https://flent.org)
>> will do that, for instance. Also, is this a single TCP flow?
>>=20
>
> It is not a single TCP flow, it is 500Mbps with 5 flows.
>
> below is result show in commit log before:
> 5G TCP UL VTH80 on X86 platform with QCA6174A PCI with sk_packing_shift
> set to 6:
>
>    tcp_limit_output_bytes            throughput(Mbps)
>   default(262144)+1 Stream                 336
>   default(262144)+2 Streams                558
>   default(262144)+3 Streams                584
>   default(262144)+4 Streams                602
>   default(262144)+5 Streams                598
>   changed(2621440)+1 Stream                598
>   changed(2621440)+2 Streams               601

This is useless without latency numbers. The whole point of
sk_pacing_shift is to control the tradeoff between latency and
throughput. You're only showing the throughput, so it's impossible to
judge if setting the pacing shift to 6 is right (and from your results I
suspect the sweet spot is actually 7).

-Toke

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
@ 2018-07-27 20:06         ` Toke Høiland-Jørgensen
  0 siblings, 0 replies; 26+ messages in thread
From: Toke Høiland-Jørgensen @ 2018-07-27 20:06 UTC (permalink / raw)
  To: Wen Gong; +Cc: johannes, linux-wireless, ath10k

Wen Gong <wgong@codeaurora.org> writes:

> On 2018-07-26 19:45, Toke Høiland-Jørgensen wrote:
>> Wen Gong <wgong@codeaurora.org> writes:
>> 
>>> Upstream kernel has an interface to help adjust sk_pacing_shift to 
>>> help
>>> improve TCP UL throughput.
>>> The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
>>> WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
>>> VHT80 TCP UL throughput testing result shows 6 is the optimal.
>>> Overwrite the sk_pacing_shift to 6 in ath10k driver.
>> 
>> When I tested this, a pacing shift of 8 was quite close to optimal as
>> well for ath10k. Why are you getting different results?
>
> the default value is still 8 in the patch:
> https://patchwork.kernel.org/patch/10545361/
>
> In my test, pacing shift 6 is better than 8.
> The test is for ath10k/11AC WiFi chips.
> Test result is show in the commit logs before.
>> 
>>> Tested with QCA6174 PCI with firmware
>>> WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 
>>> PCI.
>>> It's not a regression with new firmware releases.
>>> 
>>> There have 2 test result of different settings:
>>> 
>>> ARM CPU based device with QCA6174A PCI with different
>>> sk_pacing_shift:
>>> 
>>>  sk_pacing_shift  throughput(Mbps)             CPU utilization
>>>          6            500(-P5)      ~75% idle, Focus on CPU1: ~14%idle
>>>          7            454(-P5)      ~80% idle, Focus on CPU1: ~4%idle
>>>          8               288        ~90% idle, Focus on CPU1: ~35%idle
>>>          9              ~200        ~92% idle, Focus on CPU1: ~50%idle
>> 
>> Your tests do not include latency values; please try running a test 
>> that
>> also measures latency. The tcp_nup test in Flent (https://flent.org)
>> will do that, for instance. Also, is this a single TCP flow?
>> 
>
> It is not a single TCP flow, it is 500Mbps with 5 flows.
>
> below is result show in commit log before:
> 5G TCP UL VTH80 on X86 platform with QCA6174A PCI with sk_packing_shift
> set to 6:
>
>    tcp_limit_output_bytes            throughput(Mbps)
>   default(262144)+1 Stream                 336
>   default(262144)+2 Streams                558
>   default(262144)+3 Streams                584
>   default(262144)+4 Streams                602
>   default(262144)+5 Streams                598
>   changed(2621440)+1 Stream                598
>   changed(2621440)+2 Streams               601

This is useless without latency numbers. The whole point of
sk_pacing_shift is to control the tradeoff between latency and
throughput. You're only showing the throughput, so it's impossible to
judge if setting the pacing shift to 6 is right (and from your results I
suspect the sweet spot is actually 7).

-Toke

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
  2018-07-26  7:16 [PATCH 0/2] Change sk_pacing_shift in ieee80211_hw for best tx throughput Wen Gong
@ 2018-07-26  7:16   ` Wen Gong
  0 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-26  7:16 UTC (permalink / raw)
  To: ath10k, johannes; +Cc: linux-wireless

From: Wen Gong <wgong@codeaurora.org>

Upstream kernel has an interface to help adjust sk_pacing_shift to help
improve TCP UL throughput.
The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
VHT80 TCP UL throughput testing result shows 6 is the optimal.
Overwrite the sk_pacing_shift to 6 in ath10k driver.

Tested with QCA6174 PCI with firmware
WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI.
It's not a regression with new firmware releases.

There have 2 test result of different settings:

ARM CPU based device with QCA6174A PCI with different
sk_pacing_shift:

 sk_pacing_shift  throughput(Mbps)             CPU utilization
         6            500(-P5)      ~75% idle, Focus on CPU1: ~14%idle
         7            454(-P5)      ~80% idle, Focus on CPU1: ~4%idle
         8               288        ~90% idle, Focus on CPU1: ~35%idle
         9              ~200        ~92% idle, Focus on CPU1: ~50%idle

5G TCP UL VTH80 on X86 platform with QCA6174A PCI with sk_packing_shift
set to 6:

  tcp_limit_output_bytes            throughput(Mbps)
 default(262144)+1 Stream                 336
 default(262144)+2 Streams                558
 default(262144)+3 Streams                584
 default(262144)+4 Streams                602
 default(262144)+5 Streams                598
 changed(2621440)+1 Stream                598
 changed(2621440)+2 Streams               601

Signed-off-by: Wen Gong <wgong@codeaurora.org>
---
 drivers/net/wireless/ath/ath10k/mac.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index f31ae3b..40d24c1 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -8348,6 +8348,8 @@ int ath10k_mac_register(struct ath10k *ar)
 	ar->hw->wiphy->max_scan_ssids = WLAN_SCAN_PARAMS_MAX_SSID;
 	ar->hw->wiphy->max_scan_ie_len = WLAN_SCAN_PARAMS_MAX_IE_LEN;
 
+	ar->hw->tx_sk_pacing_shift = 6;
+
 	ar->hw->vif_data_size = sizeof(struct ath10k_vif);
 	ar->hw->sta_data_size = sizeof(struct ath10k_sta);
 	ar->hw->txq_data_size = sizeof(struct ath10k_txq);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips
@ 2018-07-26  7:16   ` Wen Gong
  0 siblings, 0 replies; 26+ messages in thread
From: Wen Gong @ 2018-07-26  7:16 UTC (permalink / raw)
  To: ath10k, johannes; +Cc: linux-wireless

From: Wen Gong <wgong@codeaurora.org>

Upstream kernel has an interface to help adjust sk_pacing_shift to help
improve TCP UL throughput.
The sk_pacing_shift is 8 in mac80211, this is based on test with 11N
WiFi chips with ath9k. For QCA6174/QCA9377 PCI 11AC chips, the 11AC
VHT80 TCP UL throughput testing result shows 6 is the optimal.
Overwrite the sk_pacing_shift to 6 in ath10k driver.

Tested with QCA6174 PCI with firmware
WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI.
It's not a regression with new firmware releases.

There have 2 test result of different settings:

ARM CPU based device with QCA6174A PCI with different
sk_pacing_shift:

 sk_pacing_shift  throughput(Mbps)             CPU utilization
         6            500(-P5)      ~75% idle, Focus on CPU1: ~14%idle
         7            454(-P5)      ~80% idle, Focus on CPU1: ~4%idle
         8               288        ~90% idle, Focus on CPU1: ~35%idle
         9              ~200        ~92% idle, Focus on CPU1: ~50%idle

5G TCP UL VTH80 on X86 platform with QCA6174A PCI with sk_packing_shift
set to 6:

  tcp_limit_output_bytes            throughput(Mbps)
 default(262144)+1 Stream                 336
 default(262144)+2 Streams                558
 default(262144)+3 Streams                584
 default(262144)+4 Streams                602
 default(262144)+5 Streams                598
 changed(2621440)+1 Stream                598
 changed(2621440)+2 Streams               601

Signed-off-by: Wen Gong <wgong@codeaurora.org>
---
 drivers/net/wireless/ath/ath10k/mac.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index f31ae3b..40d24c1 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -8348,6 +8348,8 @@ int ath10k_mac_register(struct ath10k *ar)
 	ar->hw->wiphy->max_scan_ssids = WLAN_SCAN_PARAMS_MAX_SSID;
 	ar->hw->wiphy->max_scan_ie_len = WLAN_SCAN_PARAMS_MAX_IE_LEN;
 
+	ar->hw->tx_sk_pacing_shift = 6;
+
 	ar->hw->vif_data_size = sizeof(struct ath10k_vif);
 	ar->hw->sta_data_size = sizeof(struct ath10k_sta);
 	ar->hw->txq_data_size = sizeof(struct ath10k_txq);
-- 
1.9.1


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply related	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2018-07-27 21:29 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-26  7:21 [PATCH 0/2] Change sk_pacing_shift in ieee80211_hw for best tx throughput Wen Gong
2018-07-26  7:21 ` Wen Gong
2018-07-26  7:21 ` [PATCH 1/2] mac80211: Save sk_pacing_shift to ieee80211_hw Wen Gong
2018-07-26  7:21   ` Wen Gong
2018-07-26 14:52   ` kbuild test robot
2018-07-26 14:52     ` kbuild test robot
2018-07-27  8:35     ` Wen Gong
2018-07-27  8:35       ` Wen Gong
2018-07-27  9:30       ` Kalle Valo
2018-07-27  9:30         ` Kalle Valo
2018-07-26  7:21 ` [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips Wen Gong
2018-07-26  7:21   ` Wen Gong
2018-07-26 11:45   ` Toke Høiland-Jørgensen
2018-07-26 11:45     ` Toke Høiland-Jørgensen
2018-07-26 13:02     ` Michał Kazior
2018-07-26 13:02       ` Michał Kazior
2018-07-27  9:39       ` Wen Gong
2018-07-27  9:39         ` Wen Gong
2018-07-27 12:33         ` Michał Kazior
2018-07-27 12:33           ` Michał Kazior
2018-07-27  9:29     ` Wen Gong
2018-07-27  9:29       ` Wen Gong
2018-07-27 20:06       ` Toke Høiland-Jørgensen
2018-07-27 20:06         ` Toke Høiland-Jørgensen
  -- strict thread matches above, loose matches on Subject: below --
2018-07-26  7:16 [PATCH 0/2] Change sk_pacing_shift in ieee80211_hw for best tx throughput Wen Gong
2018-07-26  7:16 ` [PATCH 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips Wen Gong
2018-07-26  7:16   ` Wen Gong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.