From: Arend van Spriel <arend.vanspriel@broadcom.com>
To: "Ben Greear" <greearb@candelatech.com>,
"Toke Høiland-Jørgensen" <toke@toke.dk>,
"Peter Oh" <peter.oh@bowerswilkins.com>,
"Wen Gong" <wgong@codeaurora.org>,
ath10k@lists.infradead.org, johannes@sipsolutions.net
Cc: linux-wireless@vger.kernel.org, Eric Dumazet <eric.dumazet@gmail.com>
Subject: Re: [PATCH v2 0/2] Change sk_pacing_shift in ieee80211_hw for best tx throughput
Date: Sat, 11 Aug 2018 21:21:13 +0200 [thread overview]
Message-ID: <5B6F3729.4040807@broadcom.com> (raw)
In-Reply-To: <93ff2bad-5b11-0edd-16cd-a2a7c54701b8@candelatech.com>
+ Eric
On 8/10/2018 9:52 PM, Ben Greear wrote:
> On 08/10/2018 12:28 PM, Arend van Spriel wrote:
>> On 8/10/2018 3:20 PM, Toke Høiland-Jørgensen wrote:
>>> Arend van Spriel <arend.vanspriel@broadcom.com> writes:
>>>
>>>> On 8/8/2018 9:00 PM, Peter Oh wrote:
>>>>>
>>>>>
>>>>> On 08/08/2018 03:40 AM, Wen Gong wrote:
>>>>>> 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.
>>>>> I don't think you can convince people with the numbers unless you
>>>>> provide latency along with the numbers and also measurement result on
>>>>> different chipsets as Michal addressed (QCA4019, QCA9984, etc.) From
>>>>> users view point, I also agree on Toke that we cannot scarify latency
>>>>> for the small throughput improvement.
>>>>
>>>> Yeah. The wireless industry (admittedly that is me too :-p ) has been
>>>> focused on just throughput long enough.
>>>
>>> Tell me about it ;)
>>>
>>>> All the preaching about bufferbloat from Dave and others is (just)
>>>> starting to sink in here and there.
>>>
>>> Yeah, I've noticed; this is good!
>>>
>>>> Now as for the value of the sk_pacing_shift I think we agree it
>>>> depends on the specific device so in that sense the api makes sense,
>>>> but I think there are a lot of variables so I was wondering if we
>>>> could introduce a sysctl parameter for it. Does that make sense?
>>>
>>> I'm not sure a sysctl parameter would make sense; for one thing, it
>>> would be global for the host, while different network interfaces will
>>> probably need different values. And for another, I don't think it's
>>> something a user can reasonably be expected to set correctly, and I
>>> think it *is* actually possible to pick a value that works well at the
>>> driver level.
>>
>> I not sure either. Do you think a user could come up with something
>> like this (found here [1]):
>>
>> sysctl -w net.core.rmem_max=8388608
>> sysctl -w net.core.wmem_max=8388608
>> sysctl -w net.core.rmem_default=65536
>> sysctl -w net.core.wmem_default=65536
>> sysctl -w net.ipv4.tcp_rmem='4096 87380 8388608'
>> sysctl -w net.ipv4.tcp_wmem='4096 65536 8388608'
>> sysctl -w net.ipv4.tcp_mem='8388608 8388608 8388608'
>> sysctl -w net.ipv4.route.flush=1
>>
>> Now the page listing this config claims this is for use "on Linux 2.4+
>> for high-bandwidth applications". Beats me if it still is correct in
>> 4.17.
>>
>> Anyway, sysctl is nice for parameterizing code that is built-in the
>> kernel so you don't need to rebuild it. mac80211 tends to be a module
>> in most distros so
>> maybe sysctl is not a good fit. So lets agree on that.
>>
>> Picking a value at driver level may be possible, but a driver tends to
>> support a number of different devices. So how do you see the picking
>> work. Some static
>> table with entries for the different devices?
>
> Some users are not going to care about latency, and for others, latency may
> be absolutely important and they don't care about bandwidth.
>
> So, it should be tunable. sysctl can support per network-device settings,
> right? Or, probably could use ethtool API to set a per-netdev value as
> well.
> That might be nice for other network devices as well, not just wifi.
I was under the impression that the parameters are all global, but your
statement made me look. I came across some references here [2] so I
checked the kernel sources under net/ and found net/ipv4/devinet.c [3].
So that confirms it supports per-netdev settings.
The sk_pacing_shift is actually a socket setting although I did not find
a user-space api to change it. For instance it is not a socket option.
There might be a good reason for not exposing it to user-space (added Eric).
Regards,
Arend
[2]
https://askubuntu.com/questions/316492/disabling-ipv6-on-a-single-interface
[3] https://elixir.bootlin.com/linux/latest/source/net/ipv4/devinet.c#L2309
_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k
next prev parent reply other threads:[~2018-08-11 19:22 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-08 10:40 [PATCH v2 0/2] Change sk_pacing_shift in ieee80211_hw for best tx throughput Wen Gong
2018-08-08 10:40 ` [PATCH v2 1/2] mac80211: Change sk_pacing_shift saved to ieee80211_hw Wen Gong
2018-08-08 10:40 ` [PATCH v2 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips Wen Gong
2018-08-08 10:43 ` Toke Høiland-Jørgensen
2018-08-10 8:05 ` Wen Gong
2018-08-10 13:17 ` Toke Høiland-Jørgensen
2018-08-13 5:37 ` Wen Gong
2018-08-13 11:18 ` Toke Høiland-Jørgensen
2018-08-14 5:55 ` Wen Gong
2018-08-17 11:32 ` Toke Høiland-Jørgensen
2018-08-30 23:25 ` Peter Oh
2018-08-31 15:36 ` Toke Høiland-Jørgensen
2018-08-30 23:32 ` Grant Grundler
2018-09-03 9:38 ` Johannes Berg
2018-09-03 11:11 ` Toke Høiland-Jørgensen
2018-09-03 11:47 ` Johannes Berg
2018-09-03 13:35 ` Toke Høiland-Jørgensen
2018-09-03 14:57 ` Dave Taht
2018-09-03 15:35 ` Dave Taht
2018-09-04 23:43 ` Grant Grundler
2018-09-05 7:23 ` Wen Gong
2018-09-06 10:18 ` Toke Høiland-Jørgensen
2019-02-20 19:15 ` Grant Grundler
2019-02-21 4:39 ` Kalle Valo
2019-02-21 15:42 ` Toke Høiland-Jørgensen
2019-02-21 16:10 ` Kalle Valo
2019-02-21 16:22 ` Ben Greear
2019-02-21 16:37 ` Toke Høiland-Jørgensen
2019-02-21 16:57 ` Ben Greear
2019-02-21 17:15 ` Toke Høiland-Jørgensen
2019-02-21 17:29 ` [PATCH] mac80211: Change default tx_sk_pacing_shift to 7 Toke Høiland-Jørgensen
[not found] ` <E1gx9x3-0002j0-1J@sipsolutions.net>
2019-02-22 13:06 ` Toke Høiland-Jørgensen
2019-02-22 13:07 ` Johannes Berg
2019-02-22 13:40 ` Toke Høiland-Jørgensen
2019-02-22 19:10 ` Johannes Berg
2019-02-23 11:49 ` Toke Høiland-Jørgensen
2019-02-21 17:29 ` [PATCH v2 2/2] ath10k: Set sk_pacing_shift to 6 for 11AC WiFi chips Ben Greear
2019-02-21 22:50 ` Toke Høiland-Jørgensen
2019-02-21 16:28 ` Toke Høiland-Jørgensen
2020-04-23 6:31 ` Kalle Valo
2018-08-08 19:00 ` [PATCH v2 0/2] Change sk_pacing_shift in ieee80211_hw for best tx throughput Peter Oh
2018-08-09 9:32 ` Arend van Spriel
2018-08-10 13:20 ` Toke Høiland-Jørgensen
2018-08-10 19:28 ` Arend van Spriel
2018-08-10 19:52 ` Ben Greear
2018-08-11 19:21 ` Arend van Spriel [this message]
2018-08-20 12:46 ` Toke Høiland-Jørgensen
2018-08-20 15:14 ` Ben Greear
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5B6F3729.4040807@broadcom.com \
--to=arend.vanspriel@broadcom.com \
--cc=ath10k@lists.infradead.org \
--cc=eric.dumazet@gmail.com \
--cc=greearb@candelatech.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=peter.oh@bowerswilkins.com \
--cc=toke@toke.dk \
--cc=wgong@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox