* Re: [PATCH v5 1/3] Documentation: dt: net: add ath9k wireless device binding
From: Arnd Bergmann @ 2016-08-29 12:12 UTC (permalink / raw)
To: Martin Blumenstingl
Cc: ath9k-devel, devicetree, linux-wireless, ath9k-devel, mcgrof,
mark.rutland, robh+dt, kvalo, chunkeey, arend.vanspriel,
julian.calaby, bjorn, linux
In-Reply-To: <CAFBinCAj0gFnKkqBrmUxCwXjsv6NY4KuWGRA4_mnXjq_boYx8w@mail.gmail.com>
On Sunday 28 August 2016, Martin Blumenstingl wrote:
> On Mon, Aug 22, 2016 at 11:08 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Sunday, August 21, 2016 4:31:03 PM CEST Martin Blumenstingl wrote:
> >> + ath9k@0,0 {
> >
> > According to the PCI binding, the name should be the same as the
> > compatible string here, or match the class code in the table.
> The original example was from an actual system (where an ath9k is
> connected to the PCIe bug). Unfortunately the PCIe driver contains
> some hacks, so I'm not sure if these values serve as a good example.
> Thus I took an example from a device where the ath9k chip is connected
> via PCI (no "express" - found in sysfs at:
> /sys/bus/pci/devices/0000:00:0e.0):
> &pci0 {
> ath9k@168c,002d {
> compatible = "pci168c,002d";
> reg = <0x7000 0 0 0 0>;
> qca,disable-5ghz;
> };
> };
Ok, that would be a better example.
> >> + compatible = "pci168c,0030";
> >> + reg = <0 0 0 0 0>;
> >
> > Are the device/fn numbers all zero on your system? This is a bit
> > confusing, as it's not immediately clear what the reg properties
> > refers to. Also, I think the length should reflect the actual length
> > of the config space, either 0x100 or 0x1000.
> The first issue is solved with the updated example (see above).
> Where would the size go (is it the second-last or last value)?
The last one.
Arnd
^ permalink raw reply
* Re: [PATCH 5/5] ath9k: Make EEPROM endianness swapping configurable via devicetree
From: Arnd Bergmann @ 2016-08-29 12:10 UTC (permalink / raw)
To: Martin Blumenstingl
Cc: nbd, kvalo, ath9k-devel, linux-wireless, ath9k-devel, devicetree,
mark.rutland, chunkeey, robh+dt
In-Reply-To: <CAFBinCCK4zG7QXENpCgEr9wUgzinfr1ugEm3HepjE6c3RDqtVg@mail.gmail.com>
On Sunday 28 August 2016, Martin Blumenstingl wrote:
> On Mon, Aug 22, 2016 at 1:52 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Sunday, August 21, 2016 4:49:06 PM CEST Martin Blumenstingl wrote:
> >> +- qca,check-eeprom-endianness: When enabled, the driver checks if the
> >> + endianness of the EEPROM (using two checks,
> >> + one is based on the two magic bytes at the
> >> + start of the EEPROM and a second one which
> >> + relies on a flag within the EEPROM data)
> >> + matches the host system's native endianness.
> >> + The data will be swapped accordingly if there
> >> + is a mismatch.
> >> + Leaving this disabled means that the EEPROM
> >> + data will always be interpreted in the
> >> + system's native endianness.
> >> + Enable this option only when the EEPROMs
> >> + endianness identifiers are known to be
> >> + correct, because otherwise the EEPROM data
> >> + may be swapped and thus interpreted
> >> + incorrectly.
> >
> > The property should not describe the driver behavior, but instead
> > describe what the hardware is like.
> >
> > A default of "system's native endianess" should not be specified
> > in a binding, as the same DTB can be used with both big-endian or
> > little-endian kernels on some architectures (ARM and PowerPC among
> > others), so disabling the property means that it is guaranteed to
> > be broken on one of the two.
> OK, I went back to have a separate look at the whole issue again.
> Let's recap, there are two types of swapping:
> 1. swab16 for the whole EEPROM data
> 2. EEPROM format specific swapping (for all u16 and u32 values)
Right, this is part of what makes the suggested DT property
a bit problematic (it's not obvious which swap is referred to),
though the other part is more important.
Note that for #1, there isn't really a big-endian and a little-endian
variant, only one that is correct and one that is incorrect (i.e.
fields are in the wrong place). In either case, it should be
independent of the CPU endianess.
> Actually I am not 100% sure what #1 exists. In OpenWrt and LEDE it's
> only used by the brcm63xx and lantiq targets (I personally have only
> lantiq based devices, so that's what I can test with).
Ok.
> Without patch 4 from this series the EEPROM data is loaded like this:
> 1. out of tree code extracts the EEPROM data from NOR/SPI/NAND flash
> 2. board specific entry (usually device-tree) tells the code to apply
> swab16 to the data
> 3. board specific entry (usually device-tree again) sets the
> "endian_check" property in the ath9k_platform_data to true
> 4.a ath9k sees that the magic bytes are not matching and applies swab16
> 4.b while doing that it notifies the EEPROM format specific swapping
>
> However, with patch 4 from this series steps 4.a and 4.b are replaced with:
> 4. ath9k checks the eepMisc field of the EEPROM and applies the EEPROM
> format specific swapping
I think the intention of the patch is right, but it needs to go further:
It seems wrong to have 'u32' members e.g. in
struct modal_eep_ar9287_header {
u32 antCtrlChain[AR9287_MAX_CHAINS];
u32 antCtrlCommon;
and then do a swab32() on them. I suspect these should just be __le32
(and __le16, respectively where needed), using appropriate accessors
everywhere that those fields are being read instead of having one function
that tries to turn them into cpu-native ordering.
If we can manage to convert the code into doing this consistently,
maybe only the 16-bit swaps of the data stream are left over.
Arnd
^ permalink raw reply
* Re: [PATCH linux-firmware] rt2870sta: Update rt3071.bin to match rt2870.bin
From: Kalle Valo @ 2016-08-29 11:28 UTC (permalink / raw)
To: Ben Hutchings
Cc: linux-kernel, linux-firmware, Xose Vazquez Perez, linux-wireless
In-Reply-To: <20160828223730.GD10601@decadent.org.uk>
Ben Hutchings <ben@decadent.org.uk> writes:
> rt3071.bin is a copy of the second firmware image in rt2870.bin,
> used only by the old rt2870sta driver.
>
> Update it to version 0.36.
>
> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
> ---
> The rt2870sta driver used rt3070.bin and rt3071.bin from version
> 2.6.34 to 2.6.38 inclusive. But that might be old enough that we
> could reasonably remove them now.
>
> If I don't hear objections, I'll apply this in a few days.
>
> Ben.
>
> rt3071.bin | Bin 4096 -> 4096 bytes
> 1 file changed, 0 insertions(+), 0 deletions(-)
Please CC linux-wireless on wireless related changes. Not everyone
follow lkml.
--
Kalle Valo
^ permalink raw reply
* Re: [PATCH v3] brcmfmac: add missing header dependencies
From: Arnd Bergmann @ 2016-08-29 9:02 UTC (permalink / raw)
To: Baoyou Xie
Cc: franky.lin, hante.meuleman, kvalo, linux-wireless,
brcm80211-dev-list.pdl, netdev, linux-kernel, xie.baoyou
In-Reply-To: <1472458485-24499-1-git-send-email-baoyou.xie@linaro.org>
On Monday, August 29, 2016 4:14:45 PM CEST Baoyou Xie wrote:
> We get 1 warning when biuld kernel with W=1:
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c:23:6: warning: no previous prototype for '__brcmf_err' [-Wmissing-prototypes]
>
> In fact, this function is declared in brcmfmac/debug.h, so this patch
> add missing header dependencies.
>
> Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
^ permalink raw reply
* [PATCH v3] brcmfmac: add missing header dependencies
From: Baoyou Xie @ 2016-08-29 8:14 UTC (permalink / raw)
To: franky.lin, hante.meuleman, kvalo
Cc: baoyou.xie, linux-wireless, brcm80211-dev-list.pdl, netdev,
linux-kernel, arnd, xie.baoyou
We get 1 warning when biuld kernel with W=1:
drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c:23:6: warning: no previous prototype for '__brcmf_err' [-Wmissing-prototypes]
In fact, this function is declared in brcmfmac/debug.h, so this patch
add missing header dependencies.
Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org>
---
drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
index a10f35c..fe67559 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
@@ -19,6 +19,7 @@
#ifndef __CHECKER__
#define CREATE_TRACE_POINTS
#include "tracepoint.h"
+#include "debug.h"
void __brcmf_err(const char *func, const char *fmt, ...)
{
--
2.7.4
^ permalink raw reply related
* [PATCH] ath10k: fix throughput regression in multi client mode
From: Rajkumar Manoharan @ 2016-08-29 8:16 UTC (permalink / raw)
To: ath10k; +Cc: linux-wireless, rmanohar, Rajkumar Manoharan
commit 7a0adc83f34d ("ath10k: improve tx scheduling") is causing
severe throughput drop in multi client mode. This issue is originally
reported in veriwave setup with 50 clients with TCP downlink traffic.
While increasing number of clients, the average throughput drops
gradually. With 50 clients, the combined peak throughput is decreased
to 98 Mbps whereas reverting given commit restored it to 550 Mbps.
Processing txqs for every tx completion is causing overhead. Ideally for
management frame tx completion, pending txqs processing can be avoided.
The change partly reverts the commit "ath10k: improve tx scheduling".
Processing pending txqs after all skbs tx completion will yeild enough
room to burst tx frames.
Fixes: 7a0adc83f34d ("ath10k: improve tx scheduling")
Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
---
drivers/net/wireless/ath/ath10k/htt_rx.c | 2 ++
drivers/net/wireless/ath/ath10k/txrx.c | 2 --
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c
index d3f8baf532d4..2d62921bcd4e 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -2445,6 +2445,8 @@ int ath10k_htt_txrx_compl_task(struct ath10k *ar, int budget)
while (kfifo_get(&htt->txdone_fifo, &tx_done))
ath10k_txrx_tx_unref(htt, &tx_done);
+ ath10k_mac_tx_push_pending(ar);
+
spin_lock_irqsave(&htt->tx_fetch_ind_q.lock, flags);
skb_queue_splice_init(&htt->tx_fetch_ind_q, &tx_ind_q);
spin_unlock_irqrestore(&htt->tx_fetch_ind_q.lock, flags);
diff --git a/drivers/net/wireless/ath/ath10k/txrx.c b/drivers/net/wireless/ath/ath10k/txrx.c
index 98f3bb47414c..5d645f989ce2 100644
--- a/drivers/net/wireless/ath/ath10k/txrx.c
+++ b/drivers/net/wireless/ath/ath10k/txrx.c
@@ -125,8 +125,6 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt,
ieee80211_tx_status(htt->ar->hw, msdu);
/* we do not own the msdu anymore */
- ath10k_mac_tx_push_pending(ar);
-
return 0;
}
--
2.9.3
^ permalink raw reply related
* Re: [PATCH v2] fix:brcmfmac: add missing header dependencies
From: Arend Van Spriel @ 2016-08-29 7:59 UTC (permalink / raw)
To: Baoyou Xie, franky.lin, hante.meuleman, kvalo
Cc: linux-wireless, brcm80211-dev-list.pdl, netdev, linux-kernel,
arnd, xie.baoyou
In-Reply-To: <1472278103-28320-1-git-send-email-baoyou.xie@linaro.org>
On 27-8-2016 8:08, Baoyou Xie wrote:
> We get 1 warning when biuld kernel with W=1:
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c:23:6: warning: no previous prototype for '__brcmf_err' [-Wmissing-
> prototypes]
>
> In fact, this function is declared in brcmfmac/debug.h, so this patch
> add missing header dependencies
Thanks for this fix, but please remove the 'fix:' prefix in the subject
as it just noise.
Regards,
Arend
> Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org>
> ---
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
> index a10f35c..fe67559 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
> @@ -19,6 +19,7 @@
> #ifndef __CHECKER__
> #define CREATE_TRACE_POINTS
> #include "tracepoint.h"
> +#include "debug.h"
>
> void __brcmf_err(const char *func, const char *fmt, ...)
> {
>
^ permalink raw reply
* Re: mac80211_hwsim: handling RSSI
From: Johannes Berg @ 2016-08-29 7:45 UTC (permalink / raw)
To: Ramon Fontes, linux-wireless
In-Reply-To: <CAK8U23YMkeYTQb2HNuqG9xfeKkv50X0MKE5r7vY=-icExF7xWA@mail.gmail.com>
On Fri, 2016-08-26 at 23:53 +0200, Ramon Fontes wrote:
> Hi,
>
> I am developing a wireless network emulator
> (https://github.com/intrig-unicamp/mininet-wifi) and I was wondering
> what is the best way to change the RSSI information provided by
> mac80211_hwsim. I am able to calculate the RSSI with my emulator, but
> the RSSI is not updated by mac80211_hwsim, of course. Do I have to
> make changes in nl80211?
>
Check out wmediumd.
johannes
^ permalink raw reply
* Re: [PATCH 5/5] ath9k: Make EEPROM endianness swapping configurable via devicetree
From: Martin Blumenstingl @ 2016-08-28 21:10 UTC (permalink / raw)
To: Arnd Bergmann, nbd
Cc: kvalo, ath9k-devel, linux-wireless, ath9k-devel, devicetree,
mark.rutland, chunkeey, robh+dt
In-Reply-To: <2303906.Xe1WvCfP0V@wuerfel>
On Mon, Aug 22, 2016 at 1:52 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Sunday, August 21, 2016 4:49:06 PM CEST Martin Blumenstingl wrote:
>> +- qca,check-eeprom-endianness: When enabled, the driver checks if the
>> + endianness of the EEPROM (using two checks,
>> + one is based on the two magic bytes at the
>> + start of the EEPROM and a second one which
>> + relies on a flag within the EEPROM data)
>> + matches the host system's native endianness.
>> + The data will be swapped accordingly if there
>> + is a mismatch.
>> + Leaving this disabled means that the EEPROM
>> + data will always be interpreted in the
>> + system's native endianness.
>> + Enable this option only when the EEPROMs
>> + endianness identifiers are known to be
>> + correct, because otherwise the EEPROM data
>> + may be swapped and thus interpreted
>> + incorrectly.
>
> The property should not describe the driver behavior, but instead
> describe what the hardware is like.
>
> A default of "system's native endianess" should not be specified
> in a binding, as the same DTB can be used with both big-endian or
> little-endian kernels on some architectures (ARM and PowerPC among
> others), so disabling the property means that it is guaranteed to
> be broken on one of the two.
OK, I went back to have a separate look at the whole issue again.
Let's recap, there are two types of swapping:
1. swab16 for the whole EEPROM data
2. EEPROM format specific swapping (for all u16 and u32 values)
Actually I am not 100% sure what #1 exists. In OpenWrt and LEDE it's
only used by the brcm63xx and lantiq targets (I personally have only
lantiq based devices, so that's what I can test with).
Without patch 4 from this series the EEPROM data is loaded like this:
1. out of tree code extracts the EEPROM data from NOR/SPI/NAND flash
2. board specific entry (usually device-tree) tells the code to apply
swab16 to the data
3. board specific entry (usually device-tree again) sets the
"endian_check" property in the ath9k_platform_data to true
4.a ath9k sees that the magic bytes are not matching and applies swab16
4.b while doing that it notifies the EEPROM format specific swapping
However, with patch 4 from this series steps 4.a and 4.b are replaced with:
4. ath9k checks the eepMisc field of the EEPROM and applies the EEPROM
format specific swapping
Currently this code is still guarded by a check whether swapping is
enabled or not.
However, FreeBSD uses the same check but has no guarding if-clause for it.
TL;DR: if we remove if (ah->ah_flags & AH_NO_EEP_SWAP) from patch 4 we
don't need an extra device-tree property.
The question is how we can test this properly:
I can test this on the boards I own (3 in total) - but I don't think
that this is enough.
Maybe we can test this together with some LEDE people - this should
get us test-coverage for embedded devices.
I'm open to more/better suggestions
Regards,
Martin
^ permalink raw reply
* Re: [PATCH v5 1/3] Documentation: dt: net: add ath9k wireless device binding
From: Martin Blumenstingl @ 2016-08-28 20:51 UTC (permalink / raw)
To: Arnd Bergmann
Cc: ath9k-devel, devicetree, linux-wireless, ath9k-devel, mcgrof,
mark.rutland, robh+dt, kvalo, chunkeey, arend.vanspriel,
julian.calaby, bjorn, linux
In-Reply-To: <2913835.hr5kg63Vcv@wuerfel>
On Mon, Aug 22, 2016 at 11:08 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Sunday, August 21, 2016 4:31:03 PM CEST Martin Blumenstingl wrote:
>> +pci {
>> + pcie@0 {
>> + reg = <0 0 0 0 0>;
>
> It's not clear what these two nodes refer to in the example. Is the top-level
> node the PCI host bridge, and the second node the first PCIe port?
>
> Maybe add the properties from a real system here to make this a little
> clearer.
>
> The unit address for the slot should be "00,0", not "0" here.
good point - I'll skip the part where I am describing the bridge as
well and keep it simple.
>> + ath9k@0,0 {
>
> According to the PCI binding, the name should be the same as the
> compatible string here, or match the class code in the table.
The original example was from an actual system (where an ath9k is
connected to the PCIe bug). Unfortunately the PCIe driver contains
some hacks, so I'm not sure if these values serve as a good example.
Thus I took an example from a device where the ath9k chip is connected
via PCI (no "express" - found in sysfs at:
/sys/bus/pci/devices/0000:00:0e.0):
&pci0 {
ath9k@168c,002d {
compatible = "pci168c,002d";
reg = <0x7000 0 0 0 0>;
qca,disable-5ghz;
};
};
>> + compatible = "pci168c,0030";
>> + reg = <0 0 0 0 0>;
>
> Are the device/fn numbers all zero on your system? This is a bit
> confusing, as it's not immediately clear what the reg properties
> refers to. Also, I think the length should reflect the actual length
> of the config space, either 0x100 or 0x1000.
The first issue is solved with the updated example (see above).
Where would the size go (is it the second-last or last value)?
Thanks for your patience!
Regards,
Martin
^ permalink raw reply
* [PATCH] staging: wilc1000: fix spelling mistake: "retyring" -> "retrying"
From: Colin King @ 2016-08-28 11:28 UTC (permalink / raw)
To: Aditya Shankar, Ganesh Krishna, Greg Kroah-Hartman,
linux-wireless, devel
Cc: linux-kernel
From: Colin Ian King <colin.king@canonical.com>
trivial fix to spelling mistake in dev_err message
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
drivers/staging/wilc1000/wilc_spi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/wilc1000/wilc_spi.c b/drivers/staging/wilc1000/wilc_spi.c
index 22cf4b7..0f8d625 100644
--- a/drivers/staging/wilc1000/wilc_spi.c
+++ b/drivers/staging/wilc1000/wilc_spi.c
@@ -871,7 +871,7 @@ static int wilc_spi_init(struct wilc *wilc, bool resume)
/* Read failed. Try with CRC off. This might happen when module
* is removed but chip isn't reset*/
g_spi.crc_off = 1;
- dev_err(&spi->dev, "Failed internal read protocol with CRC on, retyring with CRC off...\n");
+ dev_err(&spi->dev, "Failed internal read protocol with CRC on, retrying with CRC off...\n");
if (!spi_internal_read(wilc, WILC_SPI_PROTOCOL_OFFSET, ®)) {
/* Reaad failed with both CRC on and off, something went bad */
dev_err(&spi->dev,
--
2.9.3
^ permalink raw reply related
* [PATCH] mac80211: fix tim recalculation after PS response
From: Felix Fietkau @ 2016-08-28 11:10 UTC (permalink / raw)
To: linux-wireless; +Cc: johannes
Handle the case where the mac80211 intermediate queues are empty and the
driver has buffered frames
Fixes: ba8c3d6f16a1 ("mac80211: add an intermediate software queue implementation")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
net/mac80211/sta_info.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index 19f14c9..251e14e 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -1616,7 +1616,6 @@ ieee80211_sta_ps_deliver_response(struct sta_info *sta,
sta_info_recalc_tim(sta);
} else {
- unsigned long tids = sta->txq_buffered_tids & driver_release_tids;
int tid;
/*
@@ -1648,7 +1647,8 @@ ieee80211_sta_ps_deliver_response(struct sta_info *sta,
for (tid = 0; tid < ARRAY_SIZE(sta->sta.txq); tid++) {
struct txq_info *txqi = to_txq_info(sta->sta.txq[tid]);
- if (!(tids & BIT(tid)) || txqi->tin.backlog_packets)
+ if (!(driver_release_tids & BIT(tid)) ||
+ txqi->tin.backlog_packets)
continue;
sta_info_recalc_tim(sta);
--
2.8.4
^ permalink raw reply related
* RE: [PATCH] wlcore: mesh: add zone time sync support
From: Mishol, Guy @ 2016-08-28 7:34 UTC (permalink / raw)
To: Pedersen, Thomas; +Cc: Kalle Valo, linux-wireless@vger.kernel.org
In-Reply-To: <1472151013.3432.33.camel@qca.qualcomm.com>
T24gVGh1LCBBdWcgMjUsIDIwMTYgYXQgMjE6NTA6NTksIFBlZGVyc2VuLCBUaG9tYXMgd3JvdGU6
DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIHdsY29yZTogbWVzaDogYWRkIHpvbmUgdGltZSBzeW5j
IHN1cHBvcnQNCj4gDQo+IE9uIFN1biwgMjAxNi0wOC0yMSBhdCAxMDoxMyArMDAwMCwgTWlzaG9s
LCBHdXkgd3JvdGU6DQo+ID4gS2FsbGUvVGhvbWFzLA0KPiA+IFRoYW5rcyBmb3IgeW91ciBmZWVk
YmFjay4NCj4gPg0KPiA+IFRoaXMgdGltZSBzeW5jIHN1cHBvcnQgaXMgZGlmZmVyZW50IGZyb20g
dGhlIG9uZSB0aGF0IG1hYzgwMjExIA0KPiA+IG1haW50YWlucw0KPiB3aXRoIG1lc2ggcGVlcnMu
DQo+ID4gVGhpcyB0aW1lIHN5bmMgaXMgbW9zdGx5IHVzZWQgYnkgdXBwZXIgbGF5ZXJzIGZvciBz
ZXZlcmFsIA0KPiA+IGFwcGxpY2F0aW9ucyAobGlrZQ0KPiBhdWRpbykuDQo+ID4gSW4gdGhpcyBj
YXNlIHdlIGFsbG93IHRoZSB1c2VyIHRvIGNvbmZpZ3VyZSBmb3IgZWFjaCB6b25lIHdobyB3aWxs
IA0KPiA+IGJlIHRoZQ0KPiBzeW5jaHJvbml6ZXIuDQo+ID4gWW91IGNhbiByZWZlciB0byB0aGUg
Zm9sbG93aW5nIEFwcGxpY2F0aW9uIFJlcG9ydCAoY2hhcHRlciA2KSBmb3IgDQo+ID4gbW9yZQ0K
PiA+IGluZm9ybWF0aW9uOiBodHRwOi8vd3d3LnRpLmNvbS9saXQvYW4vc3dhYTE2Ni9zd2FhMTY2
LnBkZg0KPiANCj4gU28gaXQgYnJlYWtzIHJlZ3VsYXIgbWVzaCBzeW5jaHJvbml6YXRpb24/IFBv
d2VyIFNhdmUsIGFuZCBpbiB0aGUgDQo+IGZ1dHVyZSBwb3NzaWJseSBERlMgYW5kIE1DQ0EgcmVs
eSBvbiB0aGlzIHRvIHdvcmsuDQo+IA0KPiBJdCBzb3VuZHMgbGlrZSB5b3Ugd2FudCBzb21lIGFi
c29sdXRlIFRTRiB0aW1lIHN5bmNocm9uaXplZCB3aXRoaW4gMjB1cy4NCj4gTWVzaCBUU0Ygc3lu
Y2hyb25pemF0aW9uIGNhbiBwcm92aWRlIHRoaXMsIGl0J3MganVzdCBhIGxpdHRsZSBtb3JlIA0K
PiBjb21wbGljYXRlZCBhcyB5b3UnbGwgbmVlZCB0byBjb21wdXRlIGF0IHRoZSBhcHBsaWNhdGlv
biBsZXZlbCB1c2luZyB0aGUgcGVyLXN0YSBvZmZzZXRzLg0KPiBNZXNoIHN5bmNocm9uaXphdGlv
biBhY2N1cmFjeSB3YXMgcHJldHR5IGdvb2QgSUlSQywgdW5mb3J0dW5hdGVseSBJIA0KPiBkb24n
dCBoYXZlIGFueSB0ZXN0IGRhdGEgdG8gc2hhcmUgOigNCg0KWWVzLiBUaGlzIGZlYXR1cmUgY2Fu
IGhpdCB0aW1lIGFjY3VyYWN5IG9mIGxlc3MgdGhhbiAyMHVzIHdoZW4gdXNpbmcgd2wxOHh4IGRl
dmljZXMuDQpJdCBpcyBub3QgYnVpbHQgZm9yIG1lc2ggcm9sZSBzcGVjaWZpY2FsbHkgYnV0IGZv
ciBTVEEgYW5kIEFQIGFzIHdlbGwuDQpVbmxpa2UgU1RBIGFuZCBBUCBtb2RlcyB3aGVyZSB0aGUg
dG9wb2xvZ3kgaXMgd2VsbCBkZWZpbmVkIHdoZW4gcnVubmluZyBtZXNoDQp5b3UgaGF2ZSBzZXZl
cmFsIHpvbmVzIHRoYXQgY2FuIGJlIHRyZWF0ZWQgYXMgU1RBLUFQIHRvcG9sb2d5Lg0KVGhpcyBw
YXRjaCBqdXN0IGFkZCB0aGUgQVBJIGZvciBjb25maWd1cmluZyB3aGljaCBtZXNoIHBlZXIgd2ls
bCBhY3QgYXMgQVAgb24gaXRzIHpvbmUNCkZvciB0aGUgdGltZSBzeW5jaHJvbml6YXRpb24gbWF0
dGVyLg0KSXQgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBNZXNoIFRTRiBzeW5jaHJvbml6YXRpb24g
c3BlY2lmaWNhbGx5IHNvIGl0IHNob3VsZG7igJl0IGJyZWFrIGFueXRoaW5nLg0KDQpHdXkNCg==
^ permalink raw reply
* Re: [PATCH] rtlwifi/rtl8192de: Fix print format string
From: Larry Finger @ 2016-08-28 2:30 UTC (permalink / raw)
To: Oleg Drokin, Chaoming Li, Kalle Valo; +Cc: linux-wireless, linux-kernel
In-Reply-To: <1472267543-810602-1-git-send-email-green@linuxhacker.ru>
On 08/26/2016 10:12 PM, Oleg Drokin wrote:
> %ul was likely meant as %lu to print an unsigned long,
> not an unsigned with a letter l at the end.
> But in fact the value printed is u32 anyway, so just drop
> the l completely.
This patch looks OK, thus
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Thanks,
Larry
>
> Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
> ---
> drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
> index d334d2a..2a4810d 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
> @@ -588,7 +588,7 @@ static bool _rtl92d_phy_config_bb_with_headerfile(struct ieee80211_hw *hw,
> * setting. */
> udelay(1);
> RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
> - "The Rtl819XAGCTAB_Array_Table[0] is %ul Rtl819XPHY_REGArray[1] is %ul\n",
> + "The Rtl819XAGCTAB_Array_Table[0] is %u Rtl819XPHY_REGArray[1] is %u\n",
> agctab_array_table[i],
> agctab_array_table[i + 1]);
> }
> @@ -604,7 +604,7 @@ static bool _rtl92d_phy_config_bb_with_headerfile(struct ieee80211_hw *hw,
> * setting. */
> udelay(1);
> RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
> - "The Rtl819XAGCTAB_Array_Table[0] is %ul Rtl819XPHY_REGArray[1] is %ul\n",
> + "The Rtl819XAGCTAB_Array_Table[0] is %u Rtl819XPHY_REGArray[1] is %u\n",
> agctab_array_table[i],
> agctab_array_table[i + 1]);
> }
> @@ -620,7 +620,7 @@ static bool _rtl92d_phy_config_bb_with_headerfile(struct ieee80211_hw *hw,
> * setting. */
> udelay(1);
> RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
> - "The Rtl819XAGCTAB_5GArray_Table[0] is %ul Rtl819XPHY_REGArray[1] is %ul\n",
> + "The Rtl819XAGCTAB_5GArray_Table[0] is %u Rtl819XPHY_REGArray[1] is %u\n",
> agctab_5garray_table[i],
> agctab_5garray_table[i + 1]);
> }
>
^ permalink raw reply
* [PATCH] fix:gpio: mark symbols static where possible
From: Baoyou Xie @ 2016-08-27 16:27 UTC (permalink / raw)
To: ath9k-devel, kvalo
Cc: linux-wireless, ath9k-devel, netdev, linux-kernel, arnd,
baoyou.xie, xie.baoyou
We get 1 warning about global functions without a declaration
in the ath9k gpio driver when building with W=1:
drivers/net/wireless/ath/ath9k/gpio.c:25:6: warning: no previous prototype for 'ath_fill_led_pin' [-Wmissing-prototypes]
In fact, this function is only used in the file in which it is declared
and don't need a declaration, but can be made static.
so this patch marks it 'static'.
Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org>
---
drivers/net/wireless/ath/ath9k/gpio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath9k/gpio.c b/drivers/net/wireless/ath/ath9k/gpio.c
index 490f74d..ddb2886 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -22,7 +22,7 @@
#ifdef CONFIG_MAC80211_LEDS
-void ath_fill_led_pin(struct ath_softc *sc)
+static void ath_fill_led_pin(struct ath_softc *sc)
{
struct ath_hw *ah = sc->sc_ah;
--
2.7.4
^ permalink raw reply related
* [PATCH] fix:rtl8xxxu_core: mark symbols static where possible
From: Baoyou Xie @ 2016-08-27 16:14 UTC (permalink / raw)
To: Jes.Sorensen, kvalo
Cc: linux-wireless, netdev, linux-kernel, arnd, baoyou.xie,
xie.baoyou
We get 1 warning about global functions without a declaration
in the rtl8xxxu rtl8xxxu_core.c when building with W=1:
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c:898:1: warning: no previous prototype for 'rtl8xxxu_gen1_h2c_cmd' [-Wmissing-prototypes]
In fact, this function is only used in the file in which it is declared
and don't need a declaration, but can be made static.
so this patch marks it 'static'.
Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
index 77048db..95b54b8 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -894,7 +894,7 @@ int rtl8xxxu_write_rfreg(struct rtl8xxxu_priv *priv,
return retval;
}
-int
+static int
rtl8xxxu_gen1_h2c_cmd(struct rtl8xxxu_priv *priv, struct h2c_cmd *h2c, int len)
{
struct device *dev = &priv->udev->dev;
--
2.7.4
^ permalink raw reply related
* Re: [PATCH] ath10k: fix spelling mistake "montior" -> "monitor"
From: Julian Calaby @ 2016-08-27 13:16 UTC (permalink / raw)
To: Colin King
Cc: Kalle Valo, ath10k, linux-wireless, netdev,
linux-kernel@vger.kernel.org
In-Reply-To: <20160826180852.32248-1-colin.king@canonical.com>
Hi All,
On Sat, Aug 27, 2016 at 4:08 AM, Colin King <colin.king@canonical.com> wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> Trivial fix to spelling mistake in ath10k_warn message.
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
Thanks,
--
Julian Calaby
Email: julian.calaby@gmail.com
Profile: http://www.google.com/profiles/julian.calaby/
^ permalink raw reply
* [PATCH 1/6] rtl8723au: remove declaration of unimplemented functions
From: Luca Ceresoli @ 2016-08-27 12:40 UTC (permalink / raw)
To: devel
Cc: Luca Ceresoli, Larry Finger, Jes Sorensen, Greg Kroah-Hartman,
linux-wireless, linux-kernel
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Jes Sorensen <Jes.Sorensen@redhat.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-wireless@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/staging/rtl8723au/include/recv_osdep.h | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/staging/rtl8723au/include/recv_osdep.h b/drivers/staging/rtl8723au/include/recv_osdep.h
index c2d3f1bd5948..c159dbc5c752 100644
--- a/drivers/staging/rtl8723au/include/recv_osdep.h
+++ b/drivers/staging/rtl8723au/include/recv_osdep.h
@@ -26,9 +26,6 @@ int rtw_recv_indicatepkt23a(struct rtw_adapter *adapter, struct recv_frame *prec
void rtw_handle_tkip_mic_err23a(struct rtw_adapter *padapter, u8 bgroup);
-int rtw_init_recv_priv(struct recv_priv *precvpriv, struct rtw_adapter *padapter);
-void rtw_free_recv_priv (struct recv_priv *precvpriv);
-
int rtw_os_recv_resource_init(struct recv_priv *precvpriv, struct rtw_adapter *padapter);
void rtw_init_recv_timer23a(struct recv_reorder_ctrl *preorder_ctrl);
--
2.7.4
^ permalink raw reply related
* [PATCH v2] fix:brcmfmac: add missing header dependencies
From: Baoyou Xie @ 2016-08-27 6:08 UTC (permalink / raw)
To: franky.lin, hante.meuleman, kvalo
Cc: baoyou.xie, linux-wireless, brcm80211-dev-list.pdl, netdev,
linux-kernel, arnd, xie.baoyou
We get 1 warning when biuld kernel with W=1:
drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c:23:6: warning: no previous prototype for '__brcmf_err' [-Wmissing-
prototypes]
In fact, this function is declared in brcmfmac/debug.h, so this patch
add missing header dependencies
Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org>
---
drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
index a10f35c..fe67559 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
@@ -19,6 +19,7 @@
#ifndef __CHECKER__
#define CREATE_TRACE_POINTS
#include "tracepoint.h"
+#include "debug.h"
void __brcmf_err(const char *func, const char *fmt, ...)
{
--
2.7.4
^ permalink raw reply related
* [PATCH] fix:brcmfmac: add missing header dependencies
From: Baoyou Xie @ 2016-08-27 5:54 UTC (permalink / raw)
To: franky.lin, hante.meuleman, kvalo
Cc: baoyou.xie, linux-wireless, brcm80211-dev-list.pdl, netdev,
linux-kernel, arnd, xie.baoyou
We get 1 warning when biuld kernel with W=1:
drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c:23:6: warning: no previous prototype for '__brcmf_err' [-Wmissing-
prototypes]
In fact, this function is declared in brcmfmac/debuge.h, so this patch
add missing header dependencies
Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org>
---
drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
index a10f35c..fe67559 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c
@@ -19,6 +19,7 @@
#ifndef __CHECKER__
#define CREATE_TRACE_POINTS
#include "tracepoint.h"
+#include "debug.h"
void __brcmf_err(const char *func, const char *fmt, ...)
{
--
2.7.4
^ permalink raw reply related
* [PATCH] rtlwifi/rtl8192de: Fix print format string
From: Oleg Drokin @ 2016-08-27 3:12 UTC (permalink / raw)
To: Larry Finger, Chaoming Li, Kalle Valo
Cc: linux-wireless, linux-kernel, Oleg Drokin
%ul was likely meant as %lu to print an unsigned long,
not an unsigned with a letter l at the end.
But in fact the value printed is u32 anyway, so just drop
the l completely.
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
---
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
index d334d2a..2a4810d 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
@@ -588,7 +588,7 @@ static bool _rtl92d_phy_config_bb_with_headerfile(struct ieee80211_hw *hw,
* setting. */
udelay(1);
RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
- "The Rtl819XAGCTAB_Array_Table[0] is %ul Rtl819XPHY_REGArray[1] is %ul\n",
+ "The Rtl819XAGCTAB_Array_Table[0] is %u Rtl819XPHY_REGArray[1] is %u\n",
agctab_array_table[i],
agctab_array_table[i + 1]);
}
@@ -604,7 +604,7 @@ static bool _rtl92d_phy_config_bb_with_headerfile(struct ieee80211_hw *hw,
* setting. */
udelay(1);
RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
- "The Rtl819XAGCTAB_Array_Table[0] is %ul Rtl819XPHY_REGArray[1] is %ul\n",
+ "The Rtl819XAGCTAB_Array_Table[0] is %u Rtl819XPHY_REGArray[1] is %u\n",
agctab_array_table[i],
agctab_array_table[i + 1]);
}
@@ -620,7 +620,7 @@ static bool _rtl92d_phy_config_bb_with_headerfile(struct ieee80211_hw *hw,
* setting. */
udelay(1);
RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
- "The Rtl819XAGCTAB_5GArray_Table[0] is %ul Rtl819XPHY_REGArray[1] is %ul\n",
+ "The Rtl819XAGCTAB_5GArray_Table[0] is %u Rtl819XPHY_REGArray[1] is %u\n",
agctab_5garray_table[i],
agctab_5garray_table[i + 1]);
}
--
2.7.4
^ permalink raw reply related
* mac80211_hwsim: handling RSSI
From: Ramon Fontes @ 2016-08-26 21:53 UTC (permalink / raw)
To: linux-wireless
Hi,
I am developing a wireless network emulator
(https://github.com/intrig-unicamp/mininet-wifi) and I was wondering
what is the best way to change the RSSI information provided by
mac80211_hwsim. I am able to calculate the RSSI with my emulator, but
the RSSI is not updated by mac80211_hwsim, of course. Do I have to
make changes in nl80211?
Thank you in advance,
Ramon Fontes
^ permalink raw reply
* [PATCH] ath10k: fix spelling mistake "montior" -> "monitor"
From: Colin King @ 2016-08-26 18:08 UTC (permalink / raw)
To: Kalle Valo, ath10k, linux-wireless, netdev; +Cc: linux-kernel
From: Colin Ian King <colin.king@canonical.com>
Trivial fix to spelling mistake in ath10k_warn message.
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
drivers/net/wireless/ath/ath10k/mac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 0bbd0a0..841f288 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -5186,7 +5186,7 @@ static void ath10k_configure_filter(struct ieee80211_hw *hw,
ret = ath10k_monitor_recalc(ar);
if (ret)
- ath10k_warn(ar, "failed to recalc montior: %d\n", ret);
+ ath10k_warn(ar, "failed to recalc monitor: %d\n", ret);
mutex_unlock(&ar->conf_mutex);
}
--
2.9.3
^ permalink raw reply related
* Re: [PATCH v3] ath10k: implement NAPI support
From: Rajkumar Manoharan @ 2016-08-26 16:07 UTC (permalink / raw)
To: Dave Taht; +Cc: Johannes Berg, Rajkumar Manoharan, ath10k, linux-wireless
In-Reply-To: <CAA93jw5mEMbUVs-i-Bpjkv6tX-umsO=9ZKPEnFcEj=22yjWX1g@mail.gmail.com>
On 2016-08-26 17:19, Dave Taht wrote:
> On Fri, Aug 26, 2016 at 4:12 AM, Johannes Berg
> <johannes@sipsolutions.net> wrote:
>> On Fri, 2016-08-26 at 03:48 -0700, Dave Taht wrote:
>>> I'm always rather big on people testing latency under load, and napi
>>> tends to add some.
>>
>> That's a completely useless comment.
>>
>> Obviously, everybody uses NAPI; it's necessary for system load and
>> thus
>> performance, and lets drivers take advantage of TCP merging to reduce
>> ACKs, which is tremendously helpful (over wifi in particular.)
>>
>> Please stop making such drive-by comments that focus only on the
>> single
>> thing you find important above all; not all people can care only about
>> that single thing, and unconstructively reiterating it over and over
>> doesn't help.
>
> Well, I apologize for being testy. It is I spent a lot of time
> testing michal's patchset for the ath10k back in may, and I *will* go
> and retest ath10k, when these patches land. My principal concern with
> using napi is at lower rates than the maxes typically reported in a
> patchset.
>
You are always welcome to validate this change and share your feedback.
> But it would be nice if people always did test for latency under load
> when making improvements, before getting to me, and despite having
> helped make a very comprehensive test suite available (flent) that
> tests all sorts of things for wifi, getting people to actually use it
> to see real problems, (in addition to latency under load!) while their
> fingers are still hot in the codebase, and track/plot their results,
> remains an ongoing issue across the entire industry.
>
> http://blog.cerowrt.org/post/fq_codel_on_ath10k/
>
As you know, NAPI is designed to improve performance of high speed n/w
devices. From LWN: "NAPI is a proven
(www.cyberus.ca/~hadi/usenix-paper.tgz) technique to improve network
performance on Linux." Even most of Gig-speed network drivers were
already migrated to NAPI. Tasklets are heavy CPU consumers and it will
impact performance of other low priority tasks. The article[1] explains
the problems of tasklet.
From my observations, average CPU usage got reduced by 10% under heavy
data traffic against same peak throughput. I validated this change on
both IPQ4019 platform (Quad-Core ARM Cortex A7 processor) and AP135
platform (uni-core MIPS 720 MHz processor). I did not observe any
regression.
> There are many other problems in wifi, of course, that could use
> engineering mental internalization, like airtime fairness, and the
> mis-behavior of the hardware queues,
>
> http://blog.cerowrt.org/post/cs5_lockout/
>
> wifi channel scans
>
> http://blog.cerowrt.org/post/disabling_channel_scans/
>
> and so on.
>
> I have a ton more datasets and blog entries left to write up from the
> ath9k work thus far which point to some other issues (minstrel,
> aggregation, retries)
>
your data are really impressive. Once again, feel free to validate this
change and share your inputs.
[1] http://lwn.net/Articles/239633/
-Rajkumar
^ permalink raw reply
* Re: [PATCH v3] ath10k: implement NAPI support
From: Dave Taht @ 2016-08-26 11:49 UTC (permalink / raw)
To: Johannes Berg
Cc: Rajkumar Manoharan, ath10k, linux-wireless, Rajkumar Manoharan
In-Reply-To: <1472209920.390.34.camel@sipsolutions.net>
On Fri, Aug 26, 2016 at 4:12 AM, Johannes Berg
<johannes@sipsolutions.net> wrote:
> On Fri, 2016-08-26 at 03:48 -0700, Dave Taht wrote:
>> I'm always rather big on people testing latency under load, and napi
>> tends to add some.
>
> That's a completely useless comment.
>
> Obviously, everybody uses NAPI; it's necessary for system load and thus
> performance, and lets drivers take advantage of TCP merging to reduce
> ACKs, which is tremendously helpful (over wifi in particular.)
>
> Please stop making such drive-by comments that focus only on the single
> thing you find important above all; not all people can care only about
> that single thing, and unconstructively reiterating it over and over
> doesn't help.
Well, I apologize for being testy. It is I spent a lot of time
testing michal's patchset for the ath10k back in may, and I *will* go
and retest ath10k, when these patches land. My principal concern with
using napi is at lower rates than the maxes typically reported in a
patchset.
But it would be nice if people always did test for latency under load
when making improvements, before getting to me, and despite having
helped make a very comprehensive test suite available (flent) that
tests all sorts of things for wifi, getting people to actually use it
to see real problems, (in addition to latency under load!) while their
fingers are still hot in the codebase, and track/plot their results,
remains an ongoing issue across the entire industry.
http://blog.cerowrt.org/post/fq_codel_on_ath10k/
There are many other problems in wifi, of course, that could use
engineering mental internalization, like airtime fairness, and the
mis-behavior of the hardware queues,
http://blog.cerowrt.org/post/cs5_lockout/
wifi channel scans
http://blog.cerowrt.org/post/disabling_channel_scans/
and so on.
I have a ton more datasets and blog entries left to write up from the
ath9k work thus far which point to some other issues (minstrel,
aggregation, retries)
> Thanks,
> johannes
--=20
Dave T=C3=A4ht
Let's go make home routers and wifi faster! With better software!
http://blog.cerowrt.org
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox