msleep_spin is failed to waken up even after wakeup routine is invoked for the same.

Arpan Palit babupalit at gmail.com
Wed Feb 19 08:44:03 UTC 2020


Hi,

I am facing one issue where wakeup rountine call is unable to waken up a
msleep_spin routine call with a timeout value of 10 Seconds.

The real scenario is as follows: post a hardware command and sleep using
msleep_spin routine till interrupt comes, After getting the interrupt waken
up the sleeping process using wakeup_one/wakeup routine call. As there are
more than 2048 command and 16 parallel threads are running,
observed randomly *one or two of the posted command* is *timing out* for
which the *interrupt has came and also wakeup routine is invoked *after
getting the interrupt for the same command.

Note:
*The issue is not seen when number of commands are less than 2048 with
timeout of 10 seconds.
*The issue can be seen with less number of commands also when timeout value
1 second.

Can anyone please provide me an optimized way to schedule the process or a
better way to do the scheduling.

Thanks,
Arpan Palit


More information about the freebsd-questions mailing list