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, 
[email protected]             |-----------------------------------------
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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to