From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Gregory Haskins <ghaskins-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH 3/8] KVM: Adds ability to preempt an executing VCPU
Date: Wed, 16 May 2007 13:05:38 +0300 [thread overview]
Message-ID: <464AD772.4050007@qumranet.com> (raw)
In-Reply-To: <4649679C.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
Gregory Haskins wrote:
>
>> Later we'll have vcpu and thread_info point to each other and then you
>> can do that kind of optimization.
>>
>
> I am not familiar with thread_info, but if it solves the dangling pointer problem, that sounds great.
It's fairly tricky, but it's the right way forward. It means a 1:1
association of a vcpu and a thread for the lifetime of the vcpu.
> It sounds like you are in favor of leaving this optimization for a later time. As long as you are ok with every interrupt related ioctl such as KVM_APIC_MSG, and KVM_ISA_INTERRUPT posting a signal to itself, we can pull this for now.
Perhaps you can disable this by noticing that you're injecting an
interrupt now (another icky variable in struct kvm_vcpu).
> Conversely, if the thread_info approach isn't hard, I would prefer to get this right now, as the double interrupt thing seems nasty to me.
>
> Alternatively, perhaps I can just replace irq.task with irq.pid? And I could also replace irq.guest_mode with irq.guest_cpu. I will then record the pid where today I record the task. Likewise, I can extract the guest_cpu (using task_cpu(current)) where today I assign irq.guest_mode = 1. That would effectively remove the dangling pointer problem while retaining the features that I like.
>
pid can dangle just the same as a task pointer, only much worse.
> Thoughts?
>
>
>> Oh, and nobody said that the task waiting on the event is the same as
>> the task running the vcpu.
>>
>
> I'm a little confused by this statement. I don't use irq.task for assigning a target for the event. That is all self contained in the eventfd. Its true that some of the older designs used this as the send_sig() target, but the assumption there was we were posting a signal to the entire PID, not a specific TID. That could have been a bad assumption, but its moot now. Let me know if you meant something else.
>
Strike that. I was confused.
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
next prev parent reply other threads:[~2007-05-16 10:05 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-09 3:03 [PATCH 0/8] in-kernel APIC support "v1" Gregory Haskins
[not found] ` <20070509023731.23443.86578.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-09 3:03 ` [PATCH 1/8] KVM: Adds support for in-kernel mmio handlers Gregory Haskins
[not found] ` <20070509030315.23443.93779.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-09 9:51 ` [PATCH 1/8] KVM: Adds support for in-kernel mmiohandlers Dor Laor
2007-05-09 3:03 ` [PATCH 2/8] KVM: Add irqdevice object Gregory Haskins
[not found] ` <20070509030320.23443.51197.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-09 15:16 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160BBA6157-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-05-09 18:04 ` Gregory Haskins
[not found] ` <4641D4D8.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-09 22:12 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160BBA6471-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-05-09 22:47 ` Gregory Haskins
[not found] ` <4642170B.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-13 12:05 ` Avi Kivity
2007-05-09 3:03 ` [PATCH 3/8] KVM: Adds ability to preempt an executing VCPU Gregory Haskins
[not found] ` <20070509030325.23443.90129.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-14 9:34 ` Avi Kivity
[not found] ` <46482D2E.7040809-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-14 15:19 ` Gregory Haskins
[not found] ` <464845AD.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-14 15:45 ` Avi Kivity
[not found] ` <46488426.8090705-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-14 18:19 ` Gregory Haskins
[not found] ` <46486FD4.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-15 7:28 ` Avi Kivity
[not found] ` <46496125.5020909-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-15 11:56 ` Gregory Haskins
[not found] ` <4649679C.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-16 10:05 ` Avi Kivity [this message]
[not found] ` <464AD772.4050007-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-16 12:10 ` Gregory Haskins
[not found] ` <464ABC67.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-16 12:18 ` Avi Kivity
2007-05-09 3:03 ` [PATCH 4/8] KVM: Adds ability to signal userspace using a file-descriptor Gregory Haskins
2007-05-09 3:03 ` [PATCH 5/8] KVM: Add support for in-kernel LAPIC model Gregory Haskins
2007-05-09 3:03 ` [PATCH 6/8] KVM: Adds support for real NMI injection on VMX processors Gregory Haskins
[not found] ` <20070509030340.23443.84153.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-14 9:38 ` Avi Kivity
2007-05-09 3:03 ` [PATCH 7/8] KVM: Adds basic plumbing to support TPR shadow features Gregory Haskins
2007-05-09 3:03 ` [PATCH 8/8] KVM: Adds support for TPR shadowing under VMX processors Gregory Haskins
[not found] ` <20070509030350.23443.35387.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-14 11:09 ` Avi Kivity
[not found] ` <46484376.6090304-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-14 15:28 ` Gregory Haskins
2007-05-13 12:02 ` [PATCH 0/8] in-kernel APIC support "v1" Avi Kivity
[not found] ` <4646FE71.5080009-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-13 14:09 ` Gregory Haskins
[not found] ` <4646E3D1.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-13 15:45 ` Avi Kivity
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=464AD772.4050007@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=ghaskins-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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