Re: [PATCH RFC 0/2] kvm: Better yield_to candidate using preemptionnotifiers

From: Andrew Jones
Date: Tue Mar 05 2013 - 07:41:06 EST


On Tue, Mar 05, 2013 at 05:54:09PM +0530, Raghavendra K T wrote:
> On 03/05/2013 03:23 PM, Andrew Jones wrote:
> >On Mon, Mar 04, 2013 at 11:31:46PM +0530, Raghavendra K T wrote:
> >> This patch series further filters better vcpu candidate to yield to
> >>in PLE handler. The main idea is to record the preempted vcpus using
> >>preempt notifiers and iterate only those preempted vcpus in the
> >>handler. Note that the vcpus which were in spinloop during pause loop
> >>exit are already filtered.
> >
> >The %improvement and patch series look good.
> >
>
> Thank you for the review.
>
> >>
> >>Thanks Jiannan, Avi for bringing the idea and Gleb, PeterZ for
> >>precious suggestions during the discussion.
> >>Thanks Srikar for suggesting to avoid rcu lock while checking task state
> >>that has improved overcommit cases.
> >>
> >>There are basically two approches for the implementation.
> >>
> >>Method 1: Uses per vcpu preempt flag (this series).
> >>
> >>Method 2: We keep a bitmap of preempted vcpus. using this we can easily
> >>iterate over preempted vcpus.
> >>
> >>Note that method 2 needs an extra index variable to identify/map bitmap to
> >>vcpu and it also needs static vcpu allocation.
> >
> >We definitely don't want something that requires static vcpu allocation.
> >I think it'd be better to add another counter for the vcpu bit assignment.
> >
>
> So do you mean some thing parallel to online_vcpus?

Yes, one that only grows. However, then, if a vcpu is unplugged, its bit
would have to be skipped over.

>
> >>
> >>I am also posting Method 2 approach for reference in case it interests.
> >
> >I guess the interest in Method2 would come from perf numbers. Did you try
> >comparing Method1 vs. Method2?
> >
>
> Yes I did. Performance wise method2 is almost equal to method1. But I
> believe if there is any difference it may show when we have large vcpu
> guest. (Currently I have only 32 core host).
>

OK, probably not worth it at this point then.

thanks,
drew
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/