Anthony Liguori wrote:
> Dong, Eddie wrote:
>> In this case, IOCTL return to Qemu will trigger scheduling at least.
>>   
>
> I think a scheduling change won't happen until the next timer tick. 
> AFAICT, there's nothing explicit in the ioctl return path that will
> result in rescheduling.
>
> I'm not entirely confident in how the timer interrupt gets handled
> when it arrives in the guest.  My understanding is that while the
> timer interrupt is delivered in the host, since preempt is disabled,
> the rescheduling opportunity is lost even though the current task is
> marked as needing rescheduling.  I think the next time that bit will
> get checked is the next timer interrupt but I may be wrong.
>

No, any syscall exit triggers a rescheduling check, otherwise a task
that spends most of its time in a non-preemt kernel would rarely get
rescheduled.

See arch/x86_64/kernel/entry.S, the various checks for TIF_NEED_RESCHED.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to