How to tell if current running thread can be preempted?

K. Macy kmacy at freebsd.org
Thu Apr 30 09:01:38 UTC 2015


Any thread can be preempted unless it's in a critical section which is
tracked by a counter in the current thread.

There would be no OS agnostic way of doing what you ask in your second
question.
On Apr 28, 2015 4:26 PM, "Stefan Andritoiu" <stefan.andritoiu at gmail.com>
wrote:

> In Linux, in the scheduler function, it check if(!preempt_count() &
> PREEMPT_ACTIVE).
> How does the ULE scheduler tell if it can preempt the current thread?
> Is there an equivalent to the preempt_count() function and the
> PREEMPT_ACTIVE macro?
>
> Also, can this information, of a current thread running inside a
> FreeBSD virtual machine on bhyve, be accessed from the host?
> _______________________________________________
> freebsd-virtualization at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
> To unsubscribe, send any mail to "
> freebsd-virtualization-unsubscribe at freebsd.org"
>


More information about the freebsd-virtualization mailing list