All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olaf Hering <olaf@aepfle.de>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Cc: xen-devel@lists.xensource.com, tim@xen.org, ian.campbell@citrix.com
Subject: Re: 4.2 TODO update
Date: Tue, 14 Feb 2012 18:18:57 +0100	[thread overview]
Message-ID: <20120214171857.GA4728@aepfle.de> (raw)
In-Reply-To: <d0fa6559d71e21d5b272140187ef7d0e.squirrel@webmail.lagarcavilla.org>

On Tue, Feb 14, Andres Lagar-Cavilla wrote:

> > On Tue, Feb 14, Andres Lagar-Cavilla wrote:
> >
> >> Why? Because it's really really hard to guarantee we'll go to sleep in
> >> an
> >> atomic context. The main use for wait queues (imho) is in hvm_copy, and
> >> there's a zillion paths going into hvm_copy (copy_from/to_user!) with
> >> all
> >> ways of bumping the preemption count.
> >
> > If the guests pagetable is paged out this code path will trigger, then
> > one of the hypercalls returns an error and the guest runs into a BUG().
> > I think it was decrease_reservation, or similar.
> 
> Unlikely to be something specific about decrease_reservation. If the guest
> page table is paged out, then copy_from_user for any hypercall, or,
> "virtual address to gfn" for any emulation will run into this.
> 
> Now, even an innocent-looking rcu lock anywhere in this code path will
> crash the host if we go into a wait queue. Hence my concern.

The workaround for the guest crash I were seeing:
http://lists.xen.org/archives/html/xen-devel/2010-11/msg01609.html

I once modified xenpaging to keep the pagetables paged out as much as it
could (and still allowed the guest to make at least a little bit
progress) and run into no appearent issue.

> > Another thing reported by Huawei on this list was somewhere in the
> > emulation code where a gfn_to_mfn() failed.
> 
> Can you point to the original report? Is there anything more specific?

It was vmx_load_pdptrs().
http://lists.xen.org/archives/html/xen-devel/2011-09/msg01336.html

> > What other way exist to make paging 100% transparent to the guest?
> >
> 
> Don't page out page table pages? I know you were not expecting that...

How can xenpaging know what gfns are pagetables?

Olaf

  reply	other threads:[~2012-02-14 17:18 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.3388.1329129411.1471.xen-devel@lists.xensource.com>
2012-02-14 14:58 ` 4.2 TODO update Andres Lagar-Cavilla
2012-02-14 15:18   ` Olaf Hering
2012-02-14 16:47     ` Andres Lagar-Cavilla
2012-02-14 17:18       ` Olaf Hering [this message]
2012-02-14 17:34         ` Andres Lagar-Cavilla
2012-02-14 20:05       ` Tim Deegan
2012-02-15 16:22         ` Andres Lagar-Cavilla
2012-02-15 17:07           ` Tim Deegan
2012-03-12 12:11 Ian Campbell
2012-03-12 13:42 ` Ian Campbell
2012-03-12 13:51   ` Jan Beulich
2012-03-12 15:27     ` Ian Campbell
2012-03-12 13:55   ` Roger Pau Monné
2012-03-12 16:01 ` Stefano Stabellini
2012-03-13  8:57   ` Ian Campbell
2012-03-12 16:36 ` George Dunlap
2012-03-12 16:42   ` Ian Campbell
2012-03-13 10:50     ` George Dunlap
2012-03-14 16:48 ` Dario Faggioli
2012-03-14 16:51   ` Ian Campbell
     [not found] <mailman.4065.1329753857.1471.xen-devel@lists.xensource.com>
2012-02-20 20:00 ` Andres Lagar-Cavilla
  -- strict thread matches above, loose matches on Subject: below --
2012-02-20 15:52 Ian Campbell
2012-02-13 10:17 Ian Campbell
2012-02-13 10:24 ` Tim Deegan
2012-02-13 10:46 ` George Dunlap
2012-02-13 11:05 ` Fantu
2012-02-13 11:23   ` Ian Campbell
2012-02-13 11:50   ` Anthony PERARD
2012-02-13 11:56     ` Ian Campbell
2012-02-21  2:38       ` Michael A. Collins
2012-02-21  8:51         ` Ian Campbell
2012-02-13 11:29 ` Jan Beulich
2012-02-13 11:32   ` Ian Campbell
2012-02-13 12:04     ` Jan Beulich
2012-02-13 12:18       ` Stefano Stabellini
2012-02-14 14:56     ` Jan Beulich
2012-02-13 11:39 ` Anthony PERARD
2012-02-13 11:57 ` Stefano Stabellini
2012-02-13 19:11 ` Shriram Rajagopalan
2012-02-17 10:23 ` Ian Campbell

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=20120214171857.GA4728@aepfle.de \
    --to=olaf@aepfle.de \
    --cc=andres@lagarcavilla.org \
    --cc=ian.campbell@citrix.com \
    --cc=tim@xen.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.