On 9/11/26 23:47, Marek Vasut wrote:
> On 9/11/26 7:40 PM, Patrice CHOTARD wrote:
>>
>>
>> On 9/9/26 04:38, Marek Vasut wrote:
>>> On 8/18/26 10:52 AM, Patrice CHOTARD wrote:
>>>
>>> Hello Patrice,
>>>
>>>>>> Yes, It's possible to optimize schedule() call.
>>>>>> Since commit 4b6a3e860878 ("usb: gadget: f_mass_storage: Add schedule()
>>>>>> in sleep_thread()")
>>>>>> schedule is called on every for() loop iteration.
>>>>>>
>>>>>> Schedule() can be called only if needed, ie if
>>>>>> g_dnl_board_usb_cable_connected() is not overloaded.
>>>>>> I well send a patch for this.
>>>>> My question is, whether it is possible for the schedule() call to
>>>>> determine whether or not it has to do (a lot of, lengthy, expensive) work
>>>>> or not, instead of patching the USB stack.
>>>>
>>>> To remind you, initially, it was to avoid a watchdog timeout in case
>>>> g_dnl_board_usb_cable_connected()
>>>> is not overloaded and no USB cable plugged.
>>>>
>>>> As now watchdog is managed by schedule(), we have no choice to call
>>>> schedule() to ensure watchdog's reset.
>>>> even if schedule performs other cyclic things (led blinking, card detect,
>>>> video_sync....).
>>>>
>>>> Recently schedule() has already been optimized (more precisely
>>>> cyclic_run()), currently i didn't see any
>>>> better optimization.
>>>
>>> The schedule() call should be effectively a no-op in case the next event is
>>> not yet due (whatever that next event is), so what does take so long in
>>> schedule() that it takes so long (70ms) to complete ?
>>>
>>
>>
>> Hi Marek
>>
>> schedule() execution doesn't takes 70ms.
>> Moving schedule() from main loop to same level that ctrlc(), it allows to
>> call ctrlc() every ~70ms.
> In the current state, the ctrlc() is called every ... how many ... ms ?
Currently ctrlc() is called every 700ms
>
> How come this trips the watchdog timeout ? What is the watchdog timeout delay
> set to in your case ?
In our case, watchdog is set to 32 seconds on STM32MP157c-DK2.
For information, this patch is superseeded by
https://patchwork.ozlabs.org/project/uboot/patch/20260817-move_schedule_inside_sleep_thread-v1-2-0023194e8...@foss.st.com/
Patrice