virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Raghavendra K T <raghukt@linux.vnet.ibm.com>
To: Raghavendra K T <raghukt@linux.vnet.ibm.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	x86@kernel.org, Peter Zijlstra <peterz@infradead.org>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen <xen-devel@lists.xensource.com>,
	Dave Jiang <dave.jiang@intel.com>, KVM <kvm@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Rik van Riel <riel@redhat.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
	Sasha Levin <levinsasha928@gmail.com>,
	Sedat Dilek <sedat.dilek@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Yinghai Lu <yinghai@kernel.org>,
	Greg Kroah-Hartman <gregkh@suse.de>,
	LKML <linux-kernel@vger.kernel.org>, Dave Hansen <dave@linu>
Subject: Re: [PATCH RFC V3 2/4] kvm hypervisor : Add a hypercall to KVM hypervisor to support pv-ticketlocks
Date: Thu, 08 Dec 2011 23:05:04 +0530	[thread overview]
Message-ID: <4EE0F548.8050006@linux.vnet.ibm.com> (raw)
In-Reply-To: <4ED7DA85.5080504@linux.vnet.ibm.com>

On 12/02/2011 01:20 AM, Raghavendra K T wrote:
>>>
>>> +/*
>>> + * kvm_pv_kick_cpu_op: Kick a vcpu.
>>> + *
>>> + * @cpu - vcpu to be kicked.
>>> + */
>>> +static void kvm_pv_kick_cpu_op(struct kvm *kvm, int cpu)
>>> +{
>>> + struct kvm_vcpu *vcpu = kvm_get_vcpu(kvm, cpu);
>>
>> There is no guarantee that guest cpu numbers match host vcpu numbers.
>> Use APIC IDs, and kvm_apic_match_dest().
>
> Okay. I have to dig more on this.
>
Sorry for late reply on this, was experimenting with the changes needed.

Wanted to confirm if it is according to your expectation.

  Host side change should look like this to get vcpu,

	int i;
	struct kvm_vcpu *vcpu = NULL;

	kvm_for_each_vcpu(i, vcpu, kvm) {
		if (!kvm_apic_present(vcpu))
		continue;

		if (kvm_apic_match_dest(vcpu, 0, 0, cpu, 0)) {
		break;
		}
	}


In guest side, convert the cpu to apicid using,

apicid = apic->cpu_present_to_apicid(cpu);
OR
apicid =  per_cpu(x86_cpu_to_apicid, cpu);

But I have a question, as you know, we are storing the waiting cpus in
cpumask, to track the cpu to be kicked.

You want to change the logic to store the apicid directly instead of
cpu during contention or is it OK to convert before kick hypercall?.

Probably it would be more good if I can get to know the scenario,
where guest cpu numbers does not match host vcpu numbers. It may answer 
the whole question and help me in testing/validating the code.

Thanks
- Raghu

  parent reply	other threads:[~2011-12-08 17:35 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20111130085921.23386.89708.sendpatchset@oc5400248562.ibm.com>
2011-11-30  8:59 ` [PATCH RFC V3 1/4] debugfs: Add support to print u32 array in debugfs Raghavendra K T
2011-11-30  8:59 ` [PATCH RFC V3 2/4] kvm hypervisor : Add a hypercall to KVM hypervisor to support pv-ticketlocks Raghavendra K T
2011-11-30  9:00 ` [PATCH RFC V3 3/4] kvm guest : Added configuration support to enable debug information for KVM Guests Raghavendra K T
2011-11-30  9:00 ` [PATCH RFC V3 4/4] kvm : pv-ticketlocks support for linux guests running on KVM hypervisor Raghavendra K T
     [not found] ` <20111130085959.23386.69166.sendpatchset@oc5400248562.ibm.com>
2011-12-01 11:11   ` [PATCH RFC V3 2/4] kvm hypervisor : Add a hypercall to KVM hypervisor to support pv-ticketlocks Avi Kivity
2011-12-01 19:50     ` Raghavendra K T
     [not found]     ` <4ED7DA85.5080504@linux.vnet.ibm.com>
2011-12-02 12:29       ` Raghavendra K T
2011-12-04 18:06       ` Raghavendra K T
2011-12-06 16:49         ` [Xen-devel] " Konrad Rzeszutek Wilk
2011-12-07 10:53           ` Avi Kivity
2011-12-08 17:35       ` Raghavendra K T [this message]
2011-12-07 10:48   ` Marcelo Tosatti
2011-12-07 11:54     ` Raghavendra K T
2011-12-07 12:33       ` Marcelo Tosatti
2011-12-07 12:47         ` Avi Kivity
2011-12-07 13:39           ` Marcelo Tosatti
2011-12-07 14:52             ` Avi Kivity
2011-12-07 16:46               ` Raghavendra K T
     [not found]               ` <4EDF987B.8040900@linux.vnet.ibm.com>
2011-12-08  9:40                 ` Avi Kivity
2011-12-09 10:59                   ` Raghavendra K T
2011-12-07 16:31         ` Raghavendra K T
     [not found] ` <20111130085939.23386.1242.sendpatchset@oc5400248562.ibm.com>
2011-12-06  0:13   ` [Xen-devel] [PATCH RFC V3 1/4] debugfs: Add support to print u32 array in debugfs Konrad Rzeszutek Wilk
     [not found] ` <20111130090038.23386.4505.sendpatchset@oc5400248562.ibm.com>
2011-12-06  3:27   ` [PATCH RFC V3 4/4] kvm : pv-ticketlocks support for linux guests running on KVM hypervisor Konrad Rzeszutek Wilk
2011-12-06  6:54     ` Raghavendra K T

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EE0F548.8050006@linux.vnet.ibm.com \
    --to=raghukt@linux.vnet.ibm.com \
    --cc=avi@redhat.com \
    --cc=dave.jiang@intel.com \
    --cc=dave@linu \
    --cc=gregkh@suse.de \
    --cc=hpa@zytor.com \
    --cc=jeremy.fitzhardinge@citrix.com \
    --cc=jeremy@goop.org \
    --cc=konrad.wilk@oracle.com \
    --cc=kvm@vger.kernel.org \
    --cc=levinsasha928@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=raghavendra.kt@linux.vnet.ibm.com \
    --cc=riel@redhat.com \
    --cc=sedat.dilek@gmail.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tglx@linutronix.de \
    --cc=vatsa@linux.vnet.ibm.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xensource.com \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).