Zou,

just a think that passed on my mind:

try to enable the CONFIG_PRIORITY_INHERITANCE and let us know if the
issue will happen again in this case.

BR,

Alan

On 3/27/22, Alan Carvalho de Assis <acas...@gmail.com> wrote:
> Hi Zou,
>
> Is there some way to identify that thread A didn't wake up and create
> some unity test to report and to analyze it?
>
> Maybe there is some very specific race condition that we never saw before.
>
> BR,
>
> Alan
>
> On 3/27/22, fft <f...@feedforward.com.cn> wrote:
>> Hi team,
>>
>>
>> I've been puzzled by a strange problem for a long time, when i use
>> tickless
>> OS mode on stm32f405, usleep can't wake up incidentally.
>>
>> My config about tickless OS mode as shown below:
>>
>>
>> CONFIG_ARCH_HAVE_TICKLESS=y
>> CONFIG_SCHED_TICKLESS=y
>> # CONFIG_SCHED_TICKLESS_ALARM is not set
>> # CONFIG_SCHED_TICKLESS_LIMIT_MAX_SLEEP is not set
>> CONFIG_USEC_PER_TICK=10
>>
>> # CONFIG_STM32_TICKLESS_SYSTICK is not set
>>
>> CONFIG_STM32_TICKLESS_TIMER=2
>> CONFIG_STM32_TICKLESS_CHANNEL=1
>>
>>
>> When use usleep(1000) in a pthread A, then thread A maybe sporadic sleep
>> dead and can't be wake up, the probability is about 1/100000.
>> Moreover, when the problem happened, if i execute usleep 10000 in NSH
>> terminus, then thread A will wakeup. Is my configuration incorrect?
>>
>> Does anyone else have the same problem?
>>
>>
>> Best regard
>> Zou
>

Reply via email to