Search Linux Wireless

Re:Re: [PATCH] soc: qmi: allow user to set handle wq to hiprio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> Currently the qmi_handle is initialized single threaded and strictly
>> ordered with the active set to 1. This is pretty simple and safe but
>> sometimes ineffency. So it is better to allow user to decide whether
>> a high priority workqueue should be used.
>
>Can you please describe a scenario where this is needed/desired and
>perhaps also comment on why this is not always desired?
>

Well, one scenario is that when the AP wants to check the status of the
subsystems and the whole QMI data path. It first sends out an indication
which asks the subsystems to report their status. After the subsystems send
responses to the AP, the responses then are queued on the workqueue of
the QMI handler. Actually the AP is configured to do the check in a specific
interval regularly. And it check the report counts within a specific delay after
it sends out the related indication. When the AP has been under a heavy
load for long, the reports are queue their without CPU resource to update
the report counts within the specific delay. As a result, the thread that checks
the report counts takes it misleadingly that the QMI data path or the subsystems
are crashed.

The patch can really resolve the problem mentioned abolve.

For narmal situations, it is enough to just use normal priority QMI workqueue.

>Regards,
>Bjorn
>
>> 
>> Signed-off-by: Wang Wenhu <wenhu.wang@xxxxxxxx>
>> ---
>>  drivers/net/ipa/ipa_qmi.c             | 4 ++--
>>  drivers/net/wireless/ath/ath10k/qmi.c | 2 +-
>>  drivers/net/wireless/ath/ath11k/qmi.c | 2 +-
>>  drivers/remoteproc/qcom_sysmon.c      | 2 +-
>>  drivers/slimbus/qcom-ngd-ctrl.c       | 4 ++--
>>  drivers/soc/qcom/pdr_interface.c      | 4 ++--
>>  drivers/soc/qcom/qmi_interface.c      | 9 +++++++--
>>  include/linux/soc/qcom/qmi.h          | 3 ++-
>>  samples/qmi/qmi_sample_client.c       | 4 ++--
>>  9 files changed, 20 insertions(+), 14 deletions(-)





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux