Re: [PATCH v4 4/7] qmi: Implement QMI service request rate limiting in 'can_write_data'.

Grant Erickson <[email protected]> Fri, 14 Feb 2025 15:42:49 -0800
Newsgroups dev.linux.lists.ofono
Message-ID <[email protected]>
On Feb 14, 2025, at 1:08 PM, Denis Kenzior <[email protected]> wrote:
> 
> 
> Hi Grant,
> 
> On 2/14/25 11:22 AM, Grant Erickson wrote:
>> Determine if we need to rate-limit QMI services requests to a
>> transport-specific minimum request period. If so, return true so that
>> the queue can be retried again later.
>> Adds the following data members to 'qmi_transport':
>>   * Minimum request period
>>     - The minimum period, in microseconds, for back-to-back QMI
>>       service requests.
>>   * Last request time
>>     - Time, in microseconds, when the last QMI service request was
>>       sent.
>> to support the implementation.
>> ---
>>  drivers/qmimodem/qmi.c | 35 +++++++++++++++++++++++++++++++++++
>>  1 file changed, 35 insertions(+)
> 
> The CI doesn't like this version either:
> 
> Alpine (musl) gcc optimized
> ===========================
> Configure: PASS
> Build: FAIL
>    drivers/qmimodem/qmi.c: In function 'can_write_data':
>    drivers/qmimodem/qmi.c:701:50: error: 'now' may be used uninitialized [-Werror=maybe-uninitialized]
>      701 |                 transport->last_req_sent_time_us = now;
>          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
>    drivers/qmimodem/qmi.c:669:18: note: 'now' was declared here
>      669 |         uint64_t now;
>          |                  ^~~
>    cc1: all warnings being treated as errors
>    make[1]: *** [Makefile:4090: drivers/qmimodem/qmi.o] Error 1
>    make[1]: Target 'all-am' not remade because of errors.
>    make: *** [Makefile:2405: all] Error 2
> 
> Regards,
> -Denis

Denis,

Is there a place, in-tree, where the CI process and configuration are coded / documented? I’d like to be able to produce the same results which:

% ./bootstrap
% mkdir build-clang
% mkdir build-gcc
% cd build-clang
% CC=clang ../configure -C
% make -j`nproc`
% cd ../build-gcc
% CC=gcc ./configure -C
% make -j`nproc`

does not seem to replicate.

Best,

Grant

-- 
Principal
Nuovations

[email protected]
https://www.nuovations.com/