All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: eranian-sDzT885Ts8HQT0dZR+AlfA@public.gmane.org
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: questions about ack_intr_on_exit and preemption hooks
Date: Fri, 13 Jul 2007 09:53:36 +0300	[thread overview]
Message-ID: <46972170.6000108@qumranet.com> (raw)
In-Reply-To: <20070712203417.GC28354-HU54gidqsKnWxDs0y9d3MAC/G2K4zDHf@public.gmane.org>

Stephane Eranian wrote:
> Avi,
>
> A couple of months back, we had a discussion about PMU virtualization
> and the difficulty I encountered trying to catch the PMU interrupt
> vector in kvm on VM-exit. KVM does not set ack_intr_on_intr. Would
> you mind reminding me of the reason for this?
>
>   

If we ack the interrupt, we have to dispatch it ourselves, most likely
by faking an 'int $xx' instruction.

By not acking the interrupt, we allow it do be delivered through the
host IDT whether we are in guest mode or not.

> On the topic of scheduler hooks for use by KVM, I think this
> would help me also because it means I would not have to save
> and restore the PMU registers on all VM-exit/VM-entry. At least
> that is what I understood based on the discussion. Those registers
> only need to be saved/restore when the KVM process is context switched.
>   

If you want to monitor the guest, then I think you need to switch
immediately on exit/entry, using the hardware msr switching mechanism. 
Otherwise, host events will be counted against the guest counters.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


-------------------------------------------------------------------------
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/

  parent reply	other threads:[~2007-07-13  6:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-12 20:34 questions about ack_intr_on_exit and preemption hooks Stephane Eranian
     [not found] ` <20070712203417.GC28354-HU54gidqsKnWxDs0y9d3MAC/G2K4zDHf@public.gmane.org>
2007-07-13  0:46   ` Dong, Eddie
     [not found]     ` <10EA09EFD8728347A513008B6B0DA77A01C24D2A-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-07-13  4:12       ` Stephane Eranian
     [not found]         ` <20070713041236.GB28800-HU54gidqsKnWxDs0y9d3MAC/G2K4zDHf@public.gmane.org>
2007-07-13  6:12           ` Dong, Eddie
2007-07-13  6:53   ` Avi Kivity [this message]
     [not found]     ` <46972170.6000108-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-17 13:25       ` Stephane Eranian
     [not found]         ` <20070717132508.GB13171-HU54gidqsKnWxDs0y9d3MAC/G2K4zDHf@public.gmane.org>
2007-07-17 14:08           ` 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=46972170.6000108@qumranet.com \
    --to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
    --cc=eranian-sDzT885Ts8HQT0dZR+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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.