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