Re: [PATCH] wifi: mwifiex: Replace RX workqueues with kthreads

From: Kalle Valo
Date: Tue Jun 13 2023 - 01:12:55 EST


Brian Norris <briannorris@xxxxxxxxxxxx> writes:

> Hi,
>
> Thanks Pin-yen for most of the investigation here and for pushing the
> patch. With some additional information though, I might suggest *not*
> landing this patch at the moment. More details appended:
>
> On Sat, Jun 10, 2023 at 01:41:51AM +0800, Pin-yen Lin wrote:
>> I realized that I might have over-simplified the background and the
>> impact of this patch...
>>
>> The short answer to the question is that the throughput improved from
>> 100 mbps to 180 mbps. The test was run on ChromeOS's v5.15 kernel
>> fork. More detailed test setting is mentioned in [1].
>>
>> However, the throughput of the same test case on our v4.19 kernel is
>> 320 mbps. That is, we observed a 320 mbps --> 100 mbps regression when
>> we tried to update the kernel version. This patch is more like a
>> mitigation of the regression. It improves the throughput, even though
>> it is still not as good as the older kernel.
>>
>> That being said, this patch does improve the throughput, so we think
>> this patch can be landed into the mainline kernel.
>>
>> Best regards,
>> Pin-yen
>>
>> [1]: https://lore.kernel.org/all/ZFvpJb9Dh0FCkLQA@xxxxxxxxxx/
>
> I (we?) was optimistic this would be an improvement (or at least, no
> worse) due to some of the reasoning at [1]. And, the work here is just a
> single work item, queued repeatedly to the same unbound workqueue. So
> conceptually, it shouldn't be much different than a kthread_worker,
> except for scheduler details -- where again, we'd think this should be
> an improvement, as the scheduler would now better track load for the
> task (mwifiex RX) in question.
>
> But additional testing on other mwifiex-based systems (RK3399 + PCIE
> 8997) showed the inverse: some throughput drops on similar benchmarks,
> from 110 Mbps to 80 Mbps. (Frankly, both numbers are significantly below
> where we might like...)
>
> Considering we still don't have a full explanation for all the
> performance differences we've been seeing (on either test platform), and
> that at least one of our platforms showed a (smaller) regression, I
> think we might want to do more research before committing to this.

Yeah, I agree and I'll drop this. This is a really weird problem, I hope
you can get to the bottom of it.

--
https://patchwork.kernel.org/project/linux-wireless/list/

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