All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@eu.citrix.com>
To: <ddutile@redhat.com>
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	<jeremy@goop.org>, <xen-devel@lists.xensource.com>,
	<stefano@stabellini.net>, <linux-kernel@vger.kernel.org>,
	<sheng@linux.intel.com>
Subject: Re: [Xen-devel] Re: [PATCH 12/13] Unplug emulated disks and nics
Date: Fri, 9 Jul 2010 09:02:26 +0100	[thread overview]
Message-ID: <1278662546.28432.602.camel@zakaz.uk.xensource.com> (raw)
In-Reply-To: <4C364A3F.8020900@redhat.com>

On Thu, 2010-07-08 at 22:59 +0100, Don Dutile wrote:
> Ian Campbell wrote:
> > On Thu, 2010-07-08 at 20:57 +0100, Don Dutile wrote:
> >> I guess what I'm wondering is why not set xen_emul_unplug to ignore by
> >> default (static int xen_emul_unplug=XEN_UNPLUG_IGNORE), which handles
> >> the case I mentioned (just take existing guest config file as is, no edits,
> >> pre-pv-hvm added to guest kernel),  and if person edits config file to 
> >> change boot device to xvda, they would then edit the config to add
> >> -x xen_emul_unplug=[all|ide-disks|...]  as well.
> > 
> > Can you guarantee that nobody is running an HVM guest today with a
> > configuration file that specifies xvda (I believe it would work)? In
> > other words can you be sure that defaulting to XEN_UNPLUG_IGNORE is
> > _always_ going to be safe? Not just on RHEL hosts and with
> > configurations generated by the RH tools or according to the RH docs but
> > on any host with any (possibly hand-crafted) configuration?
> > 
> No, you have a valid point.  We have pv-on-hvm support for rhel3->rhel5
> HVM guests, and they support xvda on boot devices (once initrd is rebuilt),
> so it's possible to have that config (spec'd) as well, and someone
> to copy & edit it for use on a more current disk image w/relatively current
> kernel.
> But I'm considering 2.6.32+ HVM guests that didn't have xvda spec'd in
> the boot path ever, and are upgraded to a post-2.6.32 kernel that has
> pv-on-hvm added to it.

An HVM guest could have any kernel version, even one prior to 2.6.32,
and be updated to a post-2.6.32 with PV-on-HVM, we cannot restrict
ourselves to just 2.6.32+ kernels (not that I think it makes a
difference anyhow).

> 
> > Any guest which uses xvda in its configuration file today will be using
> > emulated devices but I think that with Stefano's patch and your proposed
> > change in default on a Xen system without support for unplug will start
> > using PV devices without unplugging the emulated ones first.
> > 
> Well, Stefano requires the admin to add unplug switch to kernel cmd line,

In the case where the host platform does not support the unplug protocol
this is correct and requiring explicit admin action to allow the PV
frontends to activate is the only safe option WRT the users data.

However if the host platform does support the unplug protocol then this
is incorrect. In that case the default (in the absence of the command
line option) is to automatically unplug any device for which a PV driver
is available and so no command line option will be required in the
common case. (see xen_unplug_emulated_devices() under the comment "Set
the default value of xen_emul_unplug depending on...")

> so I don't see the harm in defaulting to unplug... 

As I described in my previous mail this is unsafe on host platforms
which do not support unplug. As I describe above it is unnecessary on
host platforms which do support unplug

> Either way, the user/admin has to add cmdline to unplug to be safe.

Not true, on a recent Xen system which supports the unplug protocol then
devices will be unplugged automatically without an additional command
line option.

Ian.


WARNING: multiple messages have this Message-ID (diff)
From: Ian Campbell <Ian.Campbell@eu.citrix.com>
To: ddutile@redhat.com
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	jeremy@goop.org, xen-devel@lists.xensource.com,
	stefano@stabellini.net, linux-kernel@vger.kernel.org,
	sheng@linux.intel.com
Subject: Re: [Xen-devel] Re: [PATCH 12/13] Unplug emulated disks and nics
Date: Fri, 9 Jul 2010 09:02:26 +0100	[thread overview]
Message-ID: <1278662546.28432.602.camel@zakaz.uk.xensource.com> (raw)
In-Reply-To: <4C364A3F.8020900@redhat.com>

On Thu, 2010-07-08 at 22:59 +0100, Don Dutile wrote:
> Ian Campbell wrote:
> > On Thu, 2010-07-08 at 20:57 +0100, Don Dutile wrote:
> >> I guess what I'm wondering is why not set xen_emul_unplug to ignore by
> >> default (static int xen_emul_unplug=XEN_UNPLUG_IGNORE), which handles
> >> the case I mentioned (just take existing guest config file as is, no edits,
> >> pre-pv-hvm added to guest kernel),  and if person edits config file to 
> >> change boot device to xvda, they would then edit the config to add
> >> -x xen_emul_unplug=[all|ide-disks|...]  as well.
> > 
> > Can you guarantee that nobody is running an HVM guest today with a
> > configuration file that specifies xvda (I believe it would work)? In
> > other words can you be sure that defaulting to XEN_UNPLUG_IGNORE is
> > _always_ going to be safe? Not just on RHEL hosts and with
> > configurations generated by the RH tools or according to the RH docs but
> > on any host with any (possibly hand-crafted) configuration?
> > 
> No, you have a valid point.  We have pv-on-hvm support for rhel3->rhel5
> HVM guests, and they support xvda on boot devices (once initrd is rebuilt),
> so it's possible to have that config (spec'd) as well, and someone
> to copy & edit it for use on a more current disk image w/relatively current
> kernel.
> But I'm considering 2.6.32+ HVM guests that didn't have xvda spec'd in
> the boot path ever, and are upgraded to a post-2.6.32 kernel that has
> pv-on-hvm added to it.

An HVM guest could have any kernel version, even one prior to 2.6.32,
and be updated to a post-2.6.32 with PV-on-HVM, we cannot restrict
ourselves to just 2.6.32+ kernels (not that I think it makes a
difference anyhow).

> 
> > Any guest which uses xvda in its configuration file today will be using
> > emulated devices but I think that with Stefano's patch and your proposed
> > change in default on a Xen system without support for unplug will start
> > using PV devices without unplugging the emulated ones first.
> > 
> Well, Stefano requires the admin to add unplug switch to kernel cmd line,

In the case where the host platform does not support the unplug protocol
this is correct and requiring explicit admin action to allow the PV
frontends to activate is the only safe option WRT the users data.

However if the host platform does support the unplug protocol then this
is incorrect. In that case the default (in the absence of the command
line option) is to automatically unplug any device for which a PV driver
is available and so no command line option will be required in the
common case. (see xen_unplug_emulated_devices() under the comment "Set
the default value of xen_emul_unplug depending on...")

> so I don't see the harm in defaulting to unplug... 

As I described in my previous mail this is unsafe on host platforms
which do not support unplug. As I describe above it is unnecessary on
host platforms which do support unplug

> Either way, the user/admin has to add cmdline to unplug to be safe.

Not true, on a recent Xen system which supports the unplug protocol then
devices will be unplugged automatically without an additional command
line option.

Ian.

  reply	other threads:[~2010-07-09  8:02 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-21 16:12 [PATCH 0/12] PV on HVM Xen Stefano Stabellini
2010-06-21 16:12 ` Stefano Stabellini
2010-06-21 16:13 ` [PATCH 01/13] Add support for hvm_op stefano
2010-06-21 16:13 ` [PATCH 02/13] early PV on HVM stefano
2010-06-21 16:13 ` [PATCH 03/13] evtchn delivery " stefano
2010-06-21 16:13 ` [PATCH 04/13] Xen PCI platform device driver stefano
2010-06-30 17:55   ` Konrad Rzeszutek Wilk
2010-06-30 17:55     ` Konrad Rzeszutek Wilk
2010-07-01 11:38     ` Stefano Stabellini
2010-06-21 16:13 ` [PATCH 05/13] Add suspend\resume support for PV on HVM guests stefano
2010-06-21 16:14 ` [PATCH 06/13] Allow xen platform pci device to be compiled as a module stefano
2010-06-21 16:14 ` [PATCH 0/12] PV on HVM Xen Stefano Stabellini
2010-06-21 16:14   ` Stefano Stabellini
2010-06-21 16:14 ` [PATCH 07/13] Fix find_unbound_irq in presence of ioapic irqs stefano
2010-06-21 16:14 ` [PATCH 08/13] Fix possible NULL pointer dereference in print_IO_APIC stefano
2010-06-21 16:14 ` [PATCH 09/13] __setup_vector_irq: handle NULL chip_data stefano
2010-06-21 16:14 ` [PATCH 10/13] Do not try to disable hpet if it hasn't been initialized before stefano
2010-06-30 17:53   ` Konrad Rzeszutek Wilk
2010-06-30 17:53     ` Konrad Rzeszutek Wilk
2010-07-09  1:05     ` john stultz
2010-06-30 21:24   ` Venkatesh Pallipadi
2010-06-30 21:24     ` Venkatesh Pallipadi
2010-07-02 10:44   ` Paolo Bonzini
2010-07-02 10:44     ` Paolo Bonzini
2010-06-21 16:14 ` [PATCH 11/13] Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock stefano
2010-07-01 19:41   ` Don Dutile
2010-07-02 17:17     ` Stefano Stabellini
2010-07-02 17:17       ` Stefano Stabellini
2010-06-21 16:14 ` [PATCH 12/13] Unplug emulated disks and nics stefano
2010-07-01 19:41   ` Don Dutile
2010-07-01 19:41     ` Don Dutile
2010-07-05 11:58     ` Stefano Stabellini
2010-07-07 20:01       ` Don Dutile
2010-07-08 13:13         ` Stefano Stabellini
2010-07-08 13:13           ` Stefano Stabellini
2010-07-08 19:57           ` [Xen-devel] " Don Dutile
2010-07-08 21:29             ` Ian Campbell
2010-07-08 21:29               ` Ian Campbell
2010-07-08 21:59               ` [Xen-devel] " Don Dutile
2010-07-09  8:02                 ` Ian Campbell [this message]
2010-07-09  8:02                   ` Ian Campbell
2010-07-09 10:54                   ` Stefano Stabellini
2010-07-09 10:54                     ` Stefano Stabellini
2010-07-09 13:42                     ` [Xen-devel] " Don Dutile
2010-06-21 16:14 ` [PATCH 13/13] Call HVMOP_pagetable_dying on exit_mmap stefano
2010-06-30 17:56 ` [PATCH 0/12] PV on HVM Xen Konrad Rzeszutek Wilk
2010-07-01 11:38   ` Stefano Stabellini
2010-07-01 19:43     ` [Xen-devel] " Dan Magenheimer
2010-07-02 10:43       ` Stefano Stabellini
2010-07-02 16:08         ` Dan Magenheimer
2010-07-02 17:14           ` Stefano Stabellini
2010-07-02 19:49             ` Dan Magenheimer
2010-07-02 19:49               ` Dan Magenheimer

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=1278662546.28432.602.camel@zakaz.uk.xensource.com \
    --to=ian.campbell@eu.citrix.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=ddutile@redhat.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sheng@linux.intel.com \
    --cc=stefano@stabellini.net \
    --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.