On Tue, Feb 28, 2012, Avi Kivity wrote about "Re: [PATCH] vhost: don't forget to schedule()": > > > > + if (need_resched()) > > > > + schedule(); > > > This is cond_resched(), no? > > > > It indeed looks similar, but it appears there are some slightly > > different things happening in both cases, especially for a preemptive >... > I'd have expected that cond_resched() is a no-op with preemptible > kernels, but I see this is not the case. Hi. This discussion is already getting several orders of magnitude longer than the patch :-) Would you like me to send a new one-line patch calling "cond_resched()" instead of need_resched/schedule? Or anything else that I can do? > > But I now see that in kvm_main.c, there's also this: > > > > if (!need_resched()) > > return; > > cond_resched(); >... > > It's bogus. Look at commit 3fca03653010: >... > + if (!need_resched()) > + return; > vcpu_put(vcpu); > cond_resched(); > vcpu_load(vcpu); > > at that time, it made sense to do the extra check to avoid the expensive > vcpu_put/vcpu_load. Later preempt notifiers made them redundant > (15ad71460d75), and they were removed, but the extra check remained. Do you want a patch to remove this extra check? Or you can just remove it yourself? Thanks, Nadav. -- Nadav Har'El | Sunday, Mar 4 2012, nyh@xxxxxxxxxxxxxxxxxxx |----------------------------------------- Phone +972-523-790466, ICQ 13349191 |As every cat owner knows, nobody owns a http://nadav.harel.org.il |cat. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html