All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Virtualization Mailing List <virtualization@lists.osdl.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Xen-devel <xen-devel@lists.xensource.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] Re: [PATCH] xen: use iret directly where possible
Date: Mon, 4 Jun 2007 23:46:54 +0200	[thread overview]
Message-ID: <200706042346.55049.ak@suse.de> (raw)
In-Reply-To: <4664841A.8040802@goop.org>

On Monday 04 June 2007 23:28, Jeremy Fitzhardinge wrote:

> The cli/sti instructions don't control the event mask, so they're
> effectively expensive no-ops (they trap into the hypervisor, are
> emulated as no-ops). But if you mean cli as a general term for
> "events/interrupts masked", then they can't remain masked when you
> return to usermode.   iret normally sets the current eflags IF state
> from the on-stack IF, but that's irrelevent to Xen; we need to extract
> eflags.IF from the on-stack eflags, and put that into the vcpu's event
> mask.  That's inherently non-atomic with respect to iret.

Ah I assumed the hypervisor would just check IF in ring 1 too.
It would certainly make this easier, but then the additional trap
of setting it would be also somewhat expensive agreed.

I must say I still hate the patch; it has all the signs of something that
will be very nasty to maintain later.

-Andi

  reply	other threads:[~2007-06-04 21:46 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-04 19:22 [PATCH] xen: use iret directly where possible Jeremy Fitzhardinge
2007-06-04 19:45 ` Andi Kleen
2007-06-04 20:33   ` Jeremy Fitzhardinge
2007-06-04 20:33     ` [Xen-devel] " Jeremy Fitzhardinge
2007-06-04 21:05     ` Andi Kleen
2007-06-04 21:05       ` [Xen-devel] " Andi Kleen
2007-06-04 21:28       ` Jeremy Fitzhardinge
2007-06-04 21:28         ` [Xen-devel] " Jeremy Fitzhardinge
2007-06-04 21:46         ` Andi Kleen [this message]
2007-06-04 22:08           ` Jeremy Fitzhardinge

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=200706042346.55049.ak@suse.de \
    --to=ak@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=virtualization@lists.osdl.org \
    --cc=xen-devel@lists.xensource.com \
    /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.