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