qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] e78e9a: pci-bridge: update mappings for migra


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] e78e9a: pci-bridge: update mappings for migration/restore
Date: Thu, 18 Jul 2013 07:30:10 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e78e9ae4a933504d383703870d491615b0261801
      
https://github.com/qemu/qemu/commit/e78e9ae4a933504d383703870d491615b0261801
  Author: Don Koch <address@hidden>
  Date:   2013-07-10 (Wed, 10 Jul 2013)

  Changed paths:
    M hw/pci/pci.c
    M hw/pci/pci_bridge.c
    M include/hw/pci/pci_bridge.h

  Log Message:
  -----------
  pci-bridge: update mappings for migration/restore

Fix for LP#1187529: Devices on PCI bridge stop working when
live-migrated. Update bridge mappings for all PCI bridge
devices in get_pci_config_device().

Signed-off-by: Don Koch <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 4268b096272657b129a014f6f019625c4c8df2c1
      
https://github.com/qemu/qemu/commit/4268b096272657b129a014f6f019625c4c8df2c1
  Author: Don Koch <address@hidden>
  Date:   2013-07-10 (Wed, 10 Jul 2013)

  Changed paths:
    M hw/pci-bridge/i82801b11.c
    M include/hw/pci/pci_ids.h

  Log Message:
  -----------
  pci: fix BRDIGE typo

Fix typo in macro name: PCI_CLASS_BRDIGE_PCI_INF_SUB.

Signed-off-by: Don Koch <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: b1be42803b31a913bab65bab563a8760ad2e7f7f
      
https://github.com/qemu/qemu/commit/b1be42803b31a913bab65bab563a8760ad2e7f7f
  Author: Amos Kong <address@hidden>
  Date:   2013-07-15 (Mon, 15 Jul 2013)

  Changed paths:
    M QMP/qmp-events.txt
    M hw/net/virtio-net.c
    M include/monitor/monitor.h
    M include/net/net.h
    M monitor.c
    M net/net.c
    M qapi-schema.json
    M qmp-commands.hx

  Log Message:
  -----------
  net: add support of mac-programming over macvtap in QEMU side

Currently macvtap based macvlan device is working in promiscuous
mode, we want to implement mac-programming over macvtap through
Libvirt for better performance.

Design:
 QEMU notifies Libvirt when rx-filter config is changed in guest,
 then Libvirt query the rx-filter information by a monitor command,
 and sync the change to macvtap device. Related rx-filter config
 of the nic contains main mac, rx-mode items and vlan table.

This patch adds a QMP event to notify management of rx-filter change,
and adds a monitor command for management to query rx-filter
information.

Test:
 If we repeatedly add/remove vlan, and change macaddr of vlan
 interfaces in guest by a loop script.

Result:
 The events will flood the QMP client(management), management takes
 too much resource to process the events.

 Event_throttle API (set rate to 1 ms) can avoid the events to flood
 QMP client, but it could cause an unexpected delay (~1ms), guests
 guests normally expect rx-filter updates immediately.

 So we use a flag for each nic to avoid events flooding, the event
 is emitted once until the query command is executed. The flag
 implementation could not introduce unexpected delay.

There maybe exist an uncontrollable delay if we let Libvirt do the
real change, guests normally expect rx-filter updates immediately.
But it's another separate issue, we can investigate it when the
work in Libvirt side is done.

Michael S. Tsirkin: tweaked to enable events on start
Michael S. Tsirkin: fixed not to crash when no id
Michael S. Tsirkin: fold in patch:
   "additional fixes for mac-programming feature"
Amos Kong: always notify QMP client if mactable is changed
Amos Kong: return NULL list if no net client supports rx-filter query

Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Amos Kong <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 488f069bd1f3aeb6ee748acb02b7581831bcb3f8
      
https://github.com/qemu/qemu/commit/488f069bd1f3aeb6ee748acb02b7581831bcb3f8
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2013-07-15 (Mon, 15 Jul 2013)

  Changed paths:
    M include/hw/i386/pc.h
    M include/hw/virtio/virtio-net.h
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio-net: add feature bit for any header s/g

Old qemu versions required that 1st s/g entry is the header.

Since QEMU 1.5, patchset titled "virtio-net: iovec handling cleanup"
removed this limitation but a feature bit is needed so guests know it's
safe to lay out header differently.

This patch applies on top and adds such a feature bit to QEMU.
It is set by default for virtio-net.
virtio net header inline with the data is beneficial
for latency and small packet bandwidth - guest driver
code utilizing this feature has been acked but missed 3.11
by a narrow margin, it's pending for 3.12.

This feature bit is cleared by default when compatibility with old
machine types is requested.

Other performance-sensitive devices (blk and scsi)
don't yet support arbitrary s/g layouts, so
we only set this bit for virtio-net for now.
There are plans to allow arbitrary layouts there, but
no code has been posted yet.

Cc: Rusty Russell <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: d26d9e14c15837eba2b7447e8d15230bab8e0940
      
https://github.com/qemu/qemu/commit/d26d9e14c15837eba2b7447e8d15230bab8e0940
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2013-07-15 (Mon, 15 Jul 2013)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  pc: don't access fw cfg if NULL

commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c
     "pc: pass PCI hole ranges to Guests"
broke Xen as it has no fw_cfg.
Check for this configuration and boil out.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Tested-by: Stefano Stabellini <address@hidden>


  Commit: 39360f0b91d38790b5756d621ca9a7dd93ca8816
      
https://github.com/qemu/qemu/commit/39360f0b91d38790b5756d621ca9a7dd93ca8816
  Author: Alex Williamson <address@hidden>
  Date:   2013-07-15 (Mon, 15 Jul 2013)

  Changed paths:
    M hw/misc/vfio.c

  Log Message:
  -----------
  vfio-pci: VGA quirk update

Turns out all the suspicions for AMD devices were correct, everywhere
we read a BAR address that the address matches the config space offset,
there's full access to PCI config space.  Attempt to generalize some
helpers to allow quirks to easily be added for mirrors and windows.
Also fill in complete config space for AMD.

Signed-off-by: Alex Williamson <address@hidden>


  Commit: 7b4b0e9eda51902b53bc1a2318df53cdb8b72eed
      
https://github.com/qemu/qemu/commit/7b4b0e9eda51902b53bc1a2318df53cdb8b72eed
  Author: Vijay Mohan Pandarathil <address@hidden>
  Date:   2013-07-15 (Mon, 15 Jul 2013)

  Changed paths:
    M hw/misc/vfio.c

  Log Message:
  -----------
  vfio: QEMU-AER: Qemu changes to support AER for VFIO-PCI devices

Add support for error containment when a VFIO device assigned to a KVM
guest encounters an error. This is for PCIe devices/drivers that support AER
functionality. When the host OS is notified of an error in a device either
through the firmware first approach or through an interrupt handled by the AER
root port driver, the error handler registered by the vfio-pci driver gets
invoked. The qemu process is signaled through an eventfd registered per
VFIO device by the qemu process. In the eventfd handler, qemu decides on
what action to take. In this implementation, guest is brought down to
contain the error.

The kernel patches for the above functionality has been already accepted.

This is a refresh of the QEMU patch which was reviewed earlier.
http://marc.info/?l=linux-kernel&m=136281557608087&w=2
This patch has the same contents and has been built after refreshing
to latest upstream and after the linux headers have been updated in qemu.

        - Create eventfd per vfio device assigned to a guest and register an
    event handler

        - This fd is passed to the vfio_pci driver through the SET_IRQ ioctl

        - When the device encounters an error, the eventfd is signalled
    and the qemu eventfd handler gets invoked.

        - In the handler decide what action to take. Current action taken
    is to stop the guest.

Signed-off-by: Vijay Mohan Pandarathil <address@hidden>
Signed-off-by: Alex Williamson <address@hidden>


  Commit: 8f91ad8a1b4702966d91ea58cd90bbde1faea1b3
      
https://github.com/qemu/qemu/commit/8f91ad8a1b4702966d91ea58cd90bbde1faea1b3
  Author: Luiz Capitulino <address@hidden>
  Date:   2013-07-16 (Tue, 16 Jul 2013)

  Changed paths:
    M scripts/qapi-commands.py

  Log Message:
  -----------
  qapi: qapi-commands: fix possible leaks on visitor dealloc

In qmp-marshal.c the dealloc visitor calls use the same errp
pointer of the input visitor calls. This means that if any of
the input visitor calls fails, then the dealloc visitor will
return early, before freeing the object's memory.

Here's an example, consider this code:

int qmp_marshal_input_block_passwd(Monitor *mon, const QDict *qdict, QObject 
**ret)
{
        [...]

    char * device = NULL;
    char * password = NULL;

    mi = qmp_input_visitor_new_strict(QOBJECT(args));
    v = qmp_input_get_visitor(mi);
    visit_type_str(v, &device, "device", errp);
    visit_type_str(v, &password, "password", errp);
    qmp_input_visitor_cleanup(mi);

    if (error_is_set(errp)) {
  goto out;
    }
    qmp_block_passwd(device, password, errp);

out:
    md = qapi_dealloc_visitor_new();
    v = qapi_dealloc_get_visitor(md);
    visit_type_str(v, &device, "device", errp);
    visit_type_str(v, &password, "password", errp);
    qapi_dealloc_visitor_cleanup(md);

        [...]

    return 0;
}

Consider errp != NULL when the out label is reached, we're going
to leak device and password.

This patch fixes this by always passing errp=NULL for dealloc
visitors, meaning that we always try to free them regardless of
any previous failure. The above example would then be:

out:
    md = qapi_dealloc_visitor_new();
    v = qapi_dealloc_get_visitor(md);
    visit_type_str(v, &device, "device", NULL);
    visit_type_str(v, &password, "password", NULL);
    qapi_dealloc_visitor_cleanup(md);

Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Reviewed-by: Michael Roth <address@hidden>


  Commit: 0a53f010745635c39a83756a948df60a84e88fe5
      
https://github.com/qemu/qemu/commit/0a53f010745635c39a83756a948df60a84e88fe5
  Author: Ronnie Sahlberg <address@hidden>
  Date:   2013-07-17 (Wed, 17 Jul 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  Fix iSCSI crash on SG_IO with an iovector

Don't assume that SG_IO is always invoked with a simple buffer,
check the iovec_count and if it is >= 1 then we need to pass an array
of iovectors to libiscsi instead of just a plain buffer.

Signed-off-by: Ronnie Sahlberg <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d3bda7bc166f40326ba646ee145630bb1b59da96
      
https://github.com/qemu/qemu/commit/d3bda7bc166f40326ba646ee145630bb1b59da96
  Author: Peter Lieven <address@hidden>
  Date:   2013-07-17 (Wed, 17 Jul 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: fix -ENOSPC in iscsi_create()

the -ENOPSC case did not work due to the missing goto.

Reported-by: Kevin Wolf <address@hidden>
Signed-off-by: Peter Lieven <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7e4d5a9f94a0d8485bf63e1f8256e0a0014495ab
      
https://github.com/qemu/qemu/commit/7e4d5a9f94a0d8485bf63e1f8256e0a0014495ab
  Author: Peter Lieven <address@hidden>
  Date:   2013-07-17 (Wed, 17 Jul 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: remove support for misaligned nb_sectors in aio_readv

this hask is not working (anymore). support for misaligned offsets should
be handled at the block layer.

Signed-off-by: Peter Lieven <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 91bea4e2bb1a5f7954a3b3a4f2e28e96bd25c458
      
https://github.com/qemu/qemu/commit/91bea4e2bb1a5f7954a3b3a4f2e28e96bd25c458
  Author: Peter Lieven <address@hidden>
  Date:   2013-07-17 (Wed, 17 Jul 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: assert that sectors are aligned to LUN blocksize

if the blocksize of an iSCSI LUN is bigger than the BDRV_SECTOR_SIZE
it is possible that sector_num or nb_sectors are not correctly
aligned.

to avoid corruption we fail requests which are misaligned.

Signed-off-by: Peter Lieven <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0777b5dde42f4f453abc8bb2c4e145fb8749415d
      
https://github.com/qemu/qemu/commit/0777b5dde42f4f453abc8bb2c4e145fb8749415d
  Author: Peter Lieven <address@hidden>
  Date:   2013-07-17 (Wed, 17 Jul 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: factor out sector conversions

Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f9b1d9b20f5d25b95f67a498e312f625d168fc51
      
https://github.com/qemu/qemu/commit/f9b1d9b20f5d25b95f67a498e312f625d168fc51
  Author: Amos Kong <address@hidden>
  Date:   2013-07-17 (Wed, 17 Jul 2013)

  Changed paths:
    M qmp-commands.hx

  Log Message:
  -----------
  qmp: update send-key document

commit 9f328977 changes qmp_send_key() to accept key codes in hex,
but the document wasn't updated. The items of keys list is union
now, not enum.

Signed-off-by: Amos Kong <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>


  Commit: e9acb8cea9b11679cab8cb3c20c4348803bbb58a
      
https://github.com/qemu/qemu/commit/e9acb8cea9b11679cab8cb3c20c4348803bbb58a
  Author: Anthony Liguori <address@hidden>
  Date:   2013-07-18 (Thu, 18 Jul 2013)

  Changed paths:
    M QMP/qmp-events.txt
    M hw/i386/pc.c
    M hw/net/virtio-net.c
    M hw/pci-bridge/i82801b11.c
    M hw/pci/pci.c
    M hw/pci/pci_bridge.c
    M include/hw/i386/pc.h
    M include/hw/pci/pci_bridge.h
    M include/hw/pci/pci_ids.h
    M include/hw/virtio/virtio-net.h
    M include/hw/virtio/virtio.h
    M include/monitor/monitor.h
    M include/net/net.h
    M monitor.c
    M net/net.c
    M qapi-schema.json
    M qmp-commands.hx

  Log Message:
  -----------
  Merge remote-tracking branch 'mst/tags/for_anthony' into staging

pci,net,pc enhancements

This includes some fixes and enhancements that accumulated in my tree:
pci fixes by dkoch, virtio-net enhancements by akong and mst,
and a fix for xen pc by mst.

Signed-off-by: Michael S. Tsirkin <address@hidden>

# gpg: Signature made Wed 17 Jul 2013 04:44:45 AM CDT using RSA key ID D28D5469
# gpg: Can't check signature: public key not found

# By Don Koch (2) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
  pc: don't access fw cfg if NULL
  virtio-net: add feature bit for any header s/g
  net: add support of mac-programming over macvtap in QEMU side
  pci: fix BRDIGE typo
  pci-bridge: update mappings for migration/restore

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 5ab4dba4dac1932f8b14561772d3473d02ccd259
      
https://github.com/qemu/qemu/commit/5ab4dba4dac1932f8b14561772d3473d02ccd259
  Author: Anthony Liguori <address@hidden>
  Date:   2013-07-18 (Thu, 18 Jul 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  Merge remote-tracking branch 'bonzini/scsi-next' into staging

# By Peter Lieven (4) and Ronnie Sahlberg (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
  iscsi: factor out sector conversions
  iscsi: assert that sectors are aligned to LUN blocksize
  iscsi: remove support for misaligned nb_sectors in aio_readv
  iscsi: fix -ENOSPC in iscsi_create()
  Fix iSCSI crash on SG_IO with an iovector

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: bbcf59bc4ba813b1ff8f1312585f773a675b2e3e
      
https://github.com/qemu/qemu/commit/bbcf59bc4ba813b1ff8f1312585f773a675b2e3e
  Author: Anthony Liguori <address@hidden>
  Date:   2013-07-18 (Thu, 18 Jul 2013)

  Changed paths:
    M qmp-commands.hx
    M scripts/qapi-commands.py

  Log Message:
  -----------
  Merge remote-tracking branch 'luiz/queue/qmp' into staging

# By Amos Kong (1) and Luiz Capitulino (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
  qmp: update send-key document
  qapi: qapi-commands: fix possible leaks on visitor dealloc

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 28199c48ed44895012ae0be3b6e8f080404a4d34
      
https://github.com/qemu/qemu/commit/28199c48ed44895012ae0be3b6e8f080404a4d34
  Author: Anthony Liguori <address@hidden>
  Date:   2013-07-18 (Thu, 18 Jul 2013)

  Changed paths:
    M hw/misc/vfio.c

  Log Message:
  -----------
  Merge remote-tracking branch 'awilliam/tags/vfio-for-qemu-1.6' into staging

vfio: enhanced VGA quirks + AER error containment

# gpg: Signature made Wed 17 Jul 2013 05:39:38 PM CDT using RSA key ID 3BB08B22
# gpg: Can't check signature: public key not found

# By Alex Williamson (1) and Vijay Mohan Pandarathil (1)
# Via Alex Williamson
* awilliam/tags/vfio-for-qemu-1.6:
  vfio: QEMU-AER: Qemu changes to support AER for VFIO-PCI devices
  vfio-pci: VGA quirk update

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


Compare: https://github.com/qemu/qemu/compare/6453a3a69488...28199c48ed44

reply via email to

[Prev in Thread] Current Thread [Next in Thread]