How to tell if current running thread can be preempted?

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 running on bhyve, be accessed from the host?
 
Back
Top