Page MenuHomePhabricator

In case of more than one thread of the same priority, a running thread might not get scheduled
Closed, ResolvedPublic

Description

The function update_running_head(...) updates the pointer pointing to the highest priority runnable thread.

The implementation updates RUNN_HEAD pointer to the new running thread, if the new running thread has the same or higher priority then current RUNN_HEAD.

If a thread with the same priority as a running thread becomes running, then RUNN_HEAD is updated to this thread. Then if this second thread gets blocked, then the previous thread will never be scheduled, as the RUNN_HEAD pointer is past it, and the search always starts at RUNN_HEAD.

Event Timeline

matetothpal triaged this task as Normal priority.Jan 31 2019, 2:10 PM
matetothpal created this task.

Validated and merged.
Can you help to close this item? Thanks.

matetothpal closed this task as Resolved.Feb 18 2019, 8:42 AM

The change for this issue have been merged.