lkml.org 
[lkml]   [2012]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RFC 0/2] kvm: Improving directed yield in PLE handler
On 07/12/2012 01:41 PM, Avi Kivity wrote:
> On 07/12/2012 08:11 AM, Raghavendra K T wrote:
>>> Ah, I thouht you objected to the CONFIG var. Maybe call it
>>> cpu_relax_intercepted since that's the linuxy name for the instruction.
>>>
>>
>> Ok, just to be on same page. 'll have :
>> 1. cpu_relax_intercepted instead of pause_loop_exited.
>>
>> 2. CONFIG_KVM_HAVE_CPU_RELAX_INTERCEPT which is unconditionally
>> selected for x86 and s390
>>
>> 3. make request mechanism to clear cpu_relax_intercepted.
>>
>> ('ll do same thing for s390 also but have not seen s390 code using
>> request mechanism, so not sure if it ok.. otherwise we have to clear
>> unconditionally for s390 before guest enter and for x86 we have to move
>> make_request back to vmx/svm).
>> will post V3 with these changes.
>
> You can leave the s390 changes to the s390 people; just make sure the
> generic code is ready.
>
Yep,
Checked the following logic with make_request and it works fine,

vcpu_spin()
{
ple_exited = true;
.
.
make_request(KVM_REQ_CLEAR_PLE, vcpu);
}

vcpu_enter_guest()
{
if(check_request(KVM_REQ_CLEAR_PLE))
ple_exited = false;
.
.
}

But there is following approach that is working perfectly fine.
vcpu_spin()
{
ple_exited = true;
.
.

ple_exited = false;
}

I hope to go with second approach. let me know if you find any loop
hole.



\
 
 \ /
  Last update: 2012-07-12 11:21    [W:1.513 / U:0.904 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site