Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Feb 2020 14:13:48 +0530
From:      Arpan Palit <babupalit@gmail.com>
To:        freebsd-hackers@freebsd.org, freebsd-questions@freebsd.org
Subject:   msleep_spin is failed to waken up even after wakeup routine is invoked for the same.
Message-ID:  <CAF3txfi6Kz1y0a8jusGKrYFyMAER60xpkngQS0m-%2BY9G1RX5cw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAF3txfi6Kz1y0a8jusGKrYFyMAER60xpkngQS0m-%2BY9G1RX5cw>