Re: [Qemu-devel] pvpanic device should not be automatically included as an internal device

2013-08-02 Thread Paolo Bonzini

On 08/02/2013 12:42 AM, Eric Blake wrote:

On 08/01/2013 04:23 PM, Paolo Bonzini wrote:

Automatic devices with no command line argument have proven to be a
nightmare for libvirt as well.  Although the just-released libvirt 1.1.1
now supports the on_crash element for controlling the command line
parameters of qemu related to how qemu will behave when the pvpanic
device is triggered, I would also welcome having the ability to control
whether the guest even has a pvpanic device exposed, just as we can
control whether a guest has a memballoon device exposed.


This is quite different from memballoon.

pvpanic is a single I/O port, it doesn't use up a PCI slot (thus
causing conflicts with other devices at the same address).

Perhaps this issue is simply fixed by making the _STA method
return 0x0B instead of 0x0F (i.e. turning off the show in user
interface bit).


That may fix the issue of a windows guest showing the yellow ! mark,
but what if, down the road, someone writes an actual windows driver that
is aware of that port and how to make a windows BSOD write a panic
notification to the port?  How does a user go about installing such a
driver if the device is not exposed in the user interface list of devices?


The user can still manually install a driver even for a device that is 
not exposed.


Having to manually specify the pvpanic device would be yet another knob 
that nobody uses.  Panic notification is a useful feature that should be 
supported with no particular intervention from the user.


Paolo



Re: [Qemu-devel] pvpanic device should not be automatically included as an internal device

2013-08-02 Thread Daniel P. Berrange
On Fri, Aug 02, 2013 at 10:31:11AM +0200, Paolo Bonzini wrote:
 On 08/02/2013 12:42 AM, Eric Blake wrote:
 On 08/01/2013 04:23 PM, Paolo Bonzini wrote:
 Automatic devices with no command line argument have proven to be a
 nightmare for libvirt as well.  Although the just-released libvirt 1.1.1
 now supports the on_crash element for controlling the command line
 parameters of qemu related to how qemu will behave when the pvpanic
 device is triggered, I would also welcome having the ability to control
 whether the guest even has a pvpanic device exposed, just as we can
 control whether a guest has a memballoon device exposed.
 
 This is quite different from memballoon.
 
 pvpanic is a single I/O port, it doesn't use up a PCI slot (thus
 causing conflicts with other devices at the same address).
 
 Perhaps this issue is simply fixed by making the _STA method
 return 0x0B instead of 0x0F (i.e. turning off the show in user
 interface bit).
 
 That may fix the issue of a windows guest showing the yellow ! mark,
 but what if, down the road, someone writes an actual windows driver that
 is aware of that port and how to make a windows BSOD write a panic
 notification to the port?  How does a user go about installing such a
 driver if the device is not exposed in the user interface list of devices?
 
 The user can still manually install a driver even for a device that
 is not exposed.
 
 Having to manually specify the pvpanic device would be yet another
 knob that nobody uses.  Panic notification is a useful feature that
 should be supported with no particular intervention from the user.

Yep, that was the big motivation behind doing it as an I/O port that we
could have enabled by default, as opposed to a virtio serial device or
some other paravirt device that required explicit configuration.

Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|



Re: [Qemu-devel] pvpanic device should not be automatically included as an internal device

2013-08-01 Thread Gerd Hoffmann
On 08/01/13 15:08, Marcel Apfelbaum wrote:
 Hi,
 
 The problem with pvpanic being an internal device is that VMs running
 operating systems without a driver for this device will have problems
 when qemu will be upgraded (from qemu without this pvpanic).
 
 The outcome may be, for example: in Windows(let's say XP) the Device manager
 will open a new device wizard and the device will appear as an unrecognized 
 device.

Only happens when also changing the machine type on upgrade as it is
turned off on old machine types.

But, yes, pvpanic will show up as Unknown device without driver and
with the funky yellow exclamation mark in device manager in windows
guests.  Newer windows versions don't kick the new device wizard.  But
still I have my doubts that it is a good idea to add it unconditionally ...

cheers,
  Gerd




Re: [Qemu-devel] pvpanic device should not be automatically included as an internal device

2013-08-01 Thread Eric Blake
On 08/01/2013 08:18 AM, Gerd Hoffmann wrote:
 On 08/01/13 15:08, Marcel Apfelbaum wrote:
 Hi,

 The problem with pvpanic being an internal device is that VMs running
 operating systems without a driver for this device will have problems
 when qemu will be upgraded (from qemu without this pvpanic).

 The outcome may be, for example: in Windows(let's say XP) the Device manager
 will open a new device wizard and the device will appear as an 
 unrecognized device.
 
 Only happens when also changing the machine type on upgrade as it is
 turned off on old machine types.
 
 But, yes, pvpanic will show up as Unknown device without driver and
 with the funky yellow exclamation mark in device manager in windows
 guests.  Newer windows versions don't kick the new device wizard.  But
 still I have my doubts that it is a good idea to add it unconditionally ...

Automatic devices with no command line argument have proven to be a
nightmare for libvirt as well.  Although the just-released libvirt 1.1.1
now supports the on_crash element for controlling the command line
parameters of qemu related to how qemu will behave when the pvpanic
device is triggered, I would also welcome having the ability to control
whether the guest even has a pvpanic device exposed, just as we can
control whether a guest has a memballoon device exposed.

-- 
Eric Blake   eblake redhat com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] pvpanic device should not be automatically included as an internal device

2013-08-01 Thread Marcel Apfelbaum
On Thu, 2013-08-01 at 19:31 +0300, Michael S. Tsirkin wrote:
 On Thu, Aug 01, 2013 at 10:26:53AM -0600, Eric Blake wrote:
  On 08/01/2013 08:18 AM, Gerd Hoffmann wrote:
   On 08/01/13 15:08, Marcel Apfelbaum wrote:
   Hi,
  
   The problem with pvpanic being an internal device is that VMs running
   operating systems without a driver for this device will have problems
   when qemu will be upgraded (from qemu without this pvpanic).
  
   The outcome may be, for example: in Windows(let's say XP) the Device 
   manager
   will open a new device wizard and the device will appear as an 
   unrecognized device.
   
   Only happens when also changing the machine type on upgrade as it is
   turned off on old machine types.
   
   But, yes, pvpanic will show up as Unknown device without driver and
   with the funky yellow exclamation mark in device manager in windows
   guests.  Newer windows versions don't kick the new device wizard.  But
   still I have my doubts that it is a good idea to add it unconditionally 
   ...
  
  Automatic devices with no command line argument have proven to be a
  nightmare for libvirt as well.  Although the just-released libvirt 1.1.1
  now supports the on_crash element for controlling the command line
  parameters of qemu related to how qemu will behave when the pvpanic
  device is triggered, I would also welcome having the ability to control
  whether the guest even has a pvpanic device exposed, just as we can
  control whether a guest has a memballoon device exposed.
 
 
 A natural way to do this would be with -device pvpanic.
 I'm not sure why it wasn't done like this from the beginning,
 but it shouldn't be hard to redo, hopefully we can fix this
 bug in time for 1.6.
 
I'll come up with something, hopefully in time.
Marcel





Re: [Qemu-devel] pvpanic device should not be automatically included as an internal device

2013-08-01 Thread Michael S. Tsirkin
On Thu, Aug 01, 2013 at 10:26:53AM -0600, Eric Blake wrote:
 On 08/01/2013 08:18 AM, Gerd Hoffmann wrote:
  On 08/01/13 15:08, Marcel Apfelbaum wrote:
  Hi,
 
  The problem with pvpanic being an internal device is that VMs running
  operating systems without a driver for this device will have problems
  when qemu will be upgraded (from qemu without this pvpanic).
 
  The outcome may be, for example: in Windows(let's say XP) the Device 
  manager
  will open a new device wizard and the device will appear as an 
  unrecognized device.
  
  Only happens when also changing the machine type on upgrade as it is
  turned off on old machine types.
  
  But, yes, pvpanic will show up as Unknown device without driver and
  with the funky yellow exclamation mark in device manager in windows
  guests.  Newer windows versions don't kick the new device wizard.  But
  still I have my doubts that it is a good idea to add it unconditionally ...
 
 Automatic devices with no command line argument have proven to be a
 nightmare for libvirt as well.  Although the just-released libvirt 1.1.1
 now supports the on_crash element for controlling the command line
 parameters of qemu related to how qemu will behave when the pvpanic
 device is triggered, I would also welcome having the ability to control
 whether the guest even has a pvpanic device exposed, just as we can
 control whether a guest has a memballoon device exposed.


A natural way to do this would be with -device pvpanic.
I'm not sure why it wasn't done like this from the beginning,
but it shouldn't be hard to redo, hopefully we can fix this
bug in time for 1.6.

-- 
MST



Re: [Qemu-devel] pvpanic device should not be automatically included as an internal device

2013-08-01 Thread Paolo Bonzini

On 08/01/2013 06:26 PM, Eric Blake wrote:

On 08/01/2013 08:18 AM, Gerd Hoffmann wrote:

On 08/01/13 15:08, Marcel Apfelbaum wrote:

Hi,

The problem with pvpanic being an internal device is that VMs running
operating systems without a driver for this device will have problems
when qemu will be upgraded (from qemu without this pvpanic).

The outcome may be, for example: in Windows(let's say XP) the Device manager
will open a new device wizard and the device will appear as an unrecognized 
device.


Only happens when also changing the machine type on upgrade as it is
turned off on old machine types.

But, yes, pvpanic will show up as Unknown device without driver and
with the funky yellow exclamation mark in device manager in windows
guests.  Newer windows versions don't kick the new device wizard.  But
still I have my doubts that it is a good idea to add it unconditionally ...


Automatic devices with no command line argument have proven to be a
nightmare for libvirt as well.  Although the just-released libvirt 1.1.1
now supports the on_crash element for controlling the command line
parameters of qemu related to how qemu will behave when the pvpanic
device is triggered, I would also welcome having the ability to control
whether the guest even has a pvpanic device exposed, just as we can
control whether a guest has a memballoon device exposed.


This is quite different from memballoon.

pvpanic is a single I/O port, it doesn't use up a PCI slot (thus
causing conflicts with other devices at the same address).

Perhaps this issue is simply fixed by making the _STA method
return 0x0B instead of 0x0F (i.e. turning off the show in user
interface bit).

Paolo



Re: [Qemu-devel] pvpanic device should not be automatically included as an internal device

2013-08-01 Thread Eric Blake
On 08/01/2013 04:23 PM, Paolo Bonzini wrote:
 Automatic devices with no command line argument have proven to be a
 nightmare for libvirt as well.  Although the just-released libvirt 1.1.1
 now supports the on_crash element for controlling the command line
 parameters of qemu related to how qemu will behave when the pvpanic
 device is triggered, I would also welcome having the ability to control
 whether the guest even has a pvpanic device exposed, just as we can
 control whether a guest has a memballoon device exposed.
 
 This is quite different from memballoon.
 
 pvpanic is a single I/O port, it doesn't use up a PCI slot (thus
 causing conflicts with other devices at the same address).
 
 Perhaps this issue is simply fixed by making the _STA method
 return 0x0B instead of 0x0F (i.e. turning off the show in user
 interface bit).

That may fix the issue of a windows guest showing the yellow ! mark,
but what if, down the road, someone writes an actual windows driver that
is aware of that port and how to make a windows BSOD write a panic
notification to the port?  How does a user go about installing such a
driver if the device is not exposed in the user interface list of devices?


-- 
Eric Blake   eblake redhat com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] pvpanic device should not be automatically included as an internal device

2013-08-01 Thread Michael S. Tsirkin
On Thu, Aug 01, 2013 at 04:08:57PM +0300, Marcel Apfelbaum wrote:
 Hi,
 
 The problem with pvpanic being an internal device is that VMs running
 operating systems without a driver for this device will have problems
 when qemu will be upgraded (from qemu without this pvpanic).
 
 The outcome may be, for example: in Windows(let's say XP) the Device manager
 will open a new device wizard and the device will appear as an unrecognized 
 device.
 Now what will happen on a cluster with hundreds of such VMs? If that cluster 
 has a health
 monitoring service it may show all the VMs in a not healthy state.
 
 My point is that a device that requires a driver that is not inbox, should 
 not
 be present by default.
 One possible solution is to add it manually with -device from command line.
 
 Any thoughts?
 Marcel

Interesting. You are basically saying we should have a rule
that no new builtin devices should be added
without an explicit request from management interface?


-- 
MST



Re: [Qemu-devel] pvpanic device should not be automatically included as an internal device

2013-08-01 Thread Marcel Apfelbaum
On Thu, 2013-08-01 at 16:32 +0300, Michael S. Tsirkin wrote:
 On Thu, Aug 01, 2013 at 04:08:57PM +0300, Marcel Apfelbaum wrote:
  Hi,
  
  The problem with pvpanic being an internal device is that VMs running
  operating systems without a driver for this device will have problems
  when qemu will be upgraded (from qemu without this pvpanic).
  
  The outcome may be, for example: in Windows(let's say XP) the Device manager
  will open a new device wizard and the device will appear as an 
  unrecognized device.
  Now what will happen on a cluster with hundreds of such VMs? If that 
  cluster has a health
  monitoring service it may show all the VMs in a not healthy state.
  
  My point is that a device that requires a driver that is not inbox, 
  should not
  be present by default.
  One possible solution is to add it manually with -device from command line.
  
  Any thoughts?
  Marcel
 
 Interesting. You are basically saying we should have a rule
 that no new builtin devices should be added
 without an explicit request from management interface?

Basically, yes.
The only builtin devices shall be devices that the operating systems
know how to handle with the default drivers.
Marcel