Re: [PATCH] kvm: handle last_boosted_vcpu = 0 case

2012-07-06 Thread Marcelo Tosatti
On Tue, Jun 19, 2012 at 04:51:04PM -0400, Rik van Riel wrote:
> On Wed, 20 Jun 2012 01:50:50 +0530
> Raghavendra K T  wrote:
> 
> > 
> > In ple handler code, last_boosted_vcpu (lbv) variable is
> > serving as reference point to start when we enter.
> 
> > Also statistical analysis (below) is showing lbv is not very well
> > distributed with current approach.
> 
> You are the second person to spot this bug today (yes, today).
> 
> Due to time zones, the first person has not had a chance yet to
> test the patch below, which might fix the issue...
> 
> Please let me know how it goes.
> 
> 8<
> 
> If last_boosted_vcpu == 0, then we fall through all test cases and
> may end up with all VCPUs pouncing on vcpu 0.  With a large enough
> guest, this can result in enormous runqueue lock contention, which
> can prevent vcpu0 from running, leading to a livelock.
> 
> Changing < to <= makes sure we properly handle that case.
> 
> Signed-off-by: Rik van Riel 

Applied, thanks.

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


Re: [PATCH] kvm: handle last_boosted_vcpu = 0 case

2012-07-06 Thread Marcelo Tosatti
On Tue, Jun 19, 2012 at 04:51:04PM -0400, Rik van Riel wrote:
 On Wed, 20 Jun 2012 01:50:50 +0530
 Raghavendra K T raghavendra...@linux.vnet.ibm.com wrote:
 
  
  In ple handler code, last_boosted_vcpu (lbv) variable is
  serving as reference point to start when we enter.
 
  Also statistical analysis (below) is showing lbv is not very well
  distributed with current approach.
 
 You are the second person to spot this bug today (yes, today).
 
 Due to time zones, the first person has not had a chance yet to
 test the patch below, which might fix the issue...
 
 Please let me know how it goes.
 
 8
 
 If last_boosted_vcpu == 0, then we fall through all test cases and
 may end up with all VCPUs pouncing on vcpu 0.  With a large enough
 guest, this can result in enormous runqueue lock contention, which
 can prevent vcpu0 from running, leading to a livelock.
 
 Changing  to = makes sure we properly handle that case.
 
 Signed-off-by: Rik van Riel r...@redhat.com

Applied, thanks.

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