This may be way off base but, have you tried reverting
https://github.com/apache/nuttx/commit/7312a553bbc40f3771c5d53ccded89bed7391f2a

It release the CPU but traded that for potentially quantized large delays

Yes, I would expect the up_udelay to be in error by about about 0.5 uS (provided that the delay loop is properly calibrated).  The nxsig_usleep() should be error by about 1.5 x system-timer-period plus context switching delays.

With the default timer period of 10 MS, that would be an error of about 15 MS -- Always longer in time than requested.

A fix would be to use the tickless mode with a timer period of about 1 uS.

Reply via email to