qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] af74db: migration: set f->is_write and flush


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] af74db: migration: set f->is_write and flush in add_to_iov...
Date: Mon, 15 Apr 2013 07:30:14 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: af74db72d33e4776d7d1430b57d0bf065a6f03df
      
https://github.com/qemu/qemu/commit/af74db72d33e4776d7d1430b57d0bf065a6f03df
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-04-09 (Tue, 09 Apr 2013)

  Changed paths:
    M savevm.c

  Log Message:
  -----------
  migration: set f->is_write and flush in add_to_iovec

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: 7ce51f1b8157a2aa6bd3945bba9904442d3c3cdd
      
https://github.com/qemu/qemu/commit/7ce51f1b8157a2aa6bd3945bba9904442d3c3cdd
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-04-09 (Tue, 09 Apr 2013)

  Changed paths:
    M savevm.c

  Log Message:
  -----------
  migration: use a single I/O operation when writev_buffer is not defined

The recent patches to use vectored I/O for RAM migration caused a
regression in savevm speed.  To restore previous performance,
add data to the buffer in qemu_put_buffer_async whenever writev_buffer
is not available in the QEMUFile.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: d9658c4732a88efc42ab43bda69ae9f62559205b
      
https://github.com/qemu/qemu/commit/d9658c4732a88efc42ab43bda69ae9f62559205b
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-04-09 (Tue, 09 Apr 2013)

  Changed paths:
    M savevm.c

  Log Message:
  -----------
  migration: drop is_write complications

The same QEMUFile is never used for both read and write.  Simplify
the logic to simply look for presence or absence of the right ops.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: 4d1172472cdf28a444321ca8b165ce7326eb919e
      
https://github.com/qemu/qemu/commit/4d1172472cdf28a444321ca8b165ce7326eb919e
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-04-09 (Tue, 09 Apr 2013)

  Changed paths:
    M savevm.c

  Log Message:
  -----------
  migration: simplify writev vs. non-writev logic

Check f->iovcnt in add_to_iovec, f->buf_index in qemu_put_buffer/byte.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: c72e768836d78c9d844428b541f7d27d54e7653d
      
https://github.com/qemu/qemu/commit/c72e768836d78c9d844428b541f7d27d54e7653d
  Author: Michal Novotny <address@hidden>
  Date:   2013-04-12 (Fri, 12 Apr 2013)

  Changed paths:
    M qapi-schema.json
    M vl.c

  Log Message:
  -----------
  New cpu-max field in query-machines QMP command output

Alter the query-machines QMP command to output information about
maximum number of CPUs for each machine type with default value
set to 1 in case the number of max_cpus is not set.

Signed-off-by: Michal Novotny <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>


  Commit: 315f9e1a8f596a37853bbed4647954029f9350db
      
https://github.com/qemu/qemu/commit/315f9e1a8f596a37853bbed4647954029f9350db
  Author: Michal Novotny <address@hidden>
  Date:   2013-04-12 (Fri, 12 Apr 2013)

  Changed paths:
    M hmp-commands.hx
    M hmp.c
    M hmp.h
    M monitor.c
    M qapi-schema.json
    M qmp-commands.hx
    M vl.c

  Log Message:
  -----------
  Revert "New QMP command query-cpu-max and HMP command cpu_max"

This reverts commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c as asked by
Luiz. The patch has been obsoleted by extending MachineInfo structure
by cpu-max field.

Signed-off-by: Michal Novotny <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>


  Commit: c85a128480a3d05d2002728c449a32e32663e7de
      
https://github.com/qemu/qemu/commit/c85a128480a3d05d2002728c449a32e32663e7de
  Author: Eric Blake <address@hidden>
  Date:   2013-04-12 (Fri, 12 Apr 2013)

  Changed paths:
    M qapi-schema.json

  Log Message:
  -----------
  qapi: use valid JSON in schema

* qapi-schema.json: JSON doesn't allow trailing commas.

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


  Commit: cf8074b3825f7229a20c60e679511592bde41340
      
https://github.com/qemu/qemu/commit/cf8074b3825f7229a20c60e679511592bde41340
  Author: Kevin Wolf <address@hidden>
  Date:   2013-04-14 (Sun, 14 Apr 2013)

  Changed paths:
    M block.c
    M block/qcow2.c
    M block/sheepdog.c
    M include/block/block.h
    M include/block/block_int.h

  Log Message:
  -----------
  block: Introduce bdrv_writev_vmstate

Signed-off-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 05fcc84888cfabec2267851415b66395a73a0f5f
      
https://github.com/qemu/qemu/commit/05fcc84888cfabec2267851415b66395a73a0f5f
  Author: Kevin Wolf <address@hidden>
  Date:   2013-04-14 (Sun, 14 Apr 2013)

  Changed paths:
    M include/migration/qemu-file.h
    M savevm.c

  Log Message:
  -----------
  savevm: Implement block_writev_buffer()

Instead of breaking up RAM state into many small chunks, pass the iovec
to the block layer for better performance.

Signed-off-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 8d3b1a2d0b34a95800c482e1414c63f469ac4973
      
https://github.com/qemu/qemu/commit/8d3b1a2d0b34a95800c482e1414c63f469ac4973
  Author: Kevin Wolf <address@hidden>
  Date:   2013-04-14 (Sun, 14 Apr 2013)

  Changed paths:
    M block.c
    M block/qcow2.c
    M include/block/block.h

  Log Message:
  -----------
  block: Introduce bdrv_pwritev() for qcow2_save_vmstate

Directly pass the QEMUIOVector on instead of linearising it.

Signed-off-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: cf07aecf955453de7570c66fa0e582c83f2aac4c
      
https://github.com/qemu/qemu/commit/cf07aecf955453de7570c66fa0e582c83f2aac4c
  Author: Kevin Wolf <address@hidden>
  Date:   2013-04-14 (Sun, 14 Apr 2013)

  Changed paths:
    M tests/qemu-iotests/002
    M tests/qemu-iotests/002.out

  Log Message:
  -----------
  qemu-iotests: A few more bdrv_pread/pwrite tests

Signed-off-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 47e5df2146e8b6cd1c093720461928e66f824222
      
https://github.com/qemu/qemu/commit/47e5df2146e8b6cd1c093720461928e66f824222
  Author: Kevin Wolf <address@hidden>
  Date:   2013-04-14 (Sun, 14 Apr 2013)

  Changed paths:
    A tests/qemu-iotests/051
    A tests/qemu-iotests/051.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-iotests: Add test for -drive options

Signed-off-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: c09b437b5fab487edd924e09d1732062d7dcf093
      
https://github.com/qemu/qemu/commit/c09b437b5fab487edd924e09d1732062d7dcf093
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out
    M tests/qemu-iotests/common.filter

  Log Message:
  -----------
  qemu-iotests: filter QEMU_PROG in 051.out

Filter the name of the QEMU executable so the output can be diffed no
matter what QEMU_PROG is (e.g. qemu-system-x86_64).

Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: aad64f3193cbdc3741d10afa0237b6833e46e94e
      
https://github.com/qemu/qemu/commit/aad64f3193cbdc3741d10afa0237b6833e46e94e
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  ide: refuse WIN_READ_NATIVE_MAX on empty device

What is the highest addressable sector on an empty CD-ROM?  Nothing is
addressable so produce an error.

This patch prevents a divide-by-zero in ide_set_sector() since
s->sectors and s->heads would be 0.  Not to mention that a sector=-1
argument would be nonsense.

Note that WIN_READ_NATIVE_MAX can be triggered using hdparm -N 1024
/dev/cdrom.  The LBA bit will be set to 1 though, so the only easy way
to go down the ide_set_sector() CHS code path which divides by zero is
to comment out the s->select & 0x40 case for testing.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: 0a12ec87a513b31eb3b6e035d30649e483322270
      
https://github.com/qemu/qemu/commit/0a12ec87a513b31eb3b6e035d30649e483322270
  Author: Richard W.M. Jones <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M block/Makefile.objs
    A block/ssh.c
    M configure
    M qemu-doc.texi
    M qemu-options.hx

  Log Message:
  -----------
  block: Add support for Secure Shell (ssh) block device.

  qemu-system-x86_64 -drive file=ssh://hostname/some/image

QEMU will ssh into 'hostname' and open '/some/image' which is made
available as a standard block device.

You can specify a username (ssh://address@hidden/...) and/or a port number
(ssh://host:port/...).  You can also use an alternate syntax using
properties (file.user, file.host, file.port, file.path).

Current limitations:

- Authentication must be done without passwords or passphrases, using
  ssh-agent.  Other authentication methods are not supported.

- Uses a single connection, instead of concurrent AIO with multiple
  SSH connections.

This is implemented using libssh2 on the client side.  The server just
requires a regular ssh daemon with sftp-server support.  Most ssh
daemons on Unix/Linux systems will work out of the box.

Signed-off-by: Richard W.M. Jones <address@hidden>
Cc: Stefan Hajnoczi <address@hidden>
Cc: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 9a2d462e7bfba36597ccbd3774ba3bb1bd4c54d8
      
https://github.com/qemu/qemu/commit/9a2d462e7bfba36597ccbd3774ba3bb1bd4c54d8
  Author: Richard W.M. Jones <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M block/ssh.c
    M configure
    M qemu-doc.texi

  Log Message:
  -----------
  block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush to disk.

libssh2_sftp_fsync is an extension to libssh2 to support fsync(2) over
sftp, which is itself an extension of OpenSSH.

If both libssh2 and the ssh daemon support it, this will allow
bdrv_flush_to_disk to commit changes through to disk on the remote
server.

Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 342809e807ecb55551e579942f535966251cbe27
      
https://github.com/qemu/qemu/commit/342809e807ecb55551e579942f535966251cbe27
  Author: Richard W.M. Jones <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M tests/qemu-iotests/common
    M tests/qemu-iotests/common.rc

  Log Message:
  -----------
  iotests: Add 'check -ssh' option to test Secure Shell block device.

Note in order to run these tests on ssh, you must be running a local
ssh daemon, and that daemon must accept loopback connections, and
ssh-agent has to be set up to allow logins on the local daemon.  In
other words, the following command should just work without demanding
any passphrase:

 ssh localhost

Signed-off-by: Richard W.M. Jones <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: dc7588c1eb3008bda53dde1d6b890cd299758155
      
https://github.com/qemu/qemu/commit/dc7588c1eb3008bda53dde1d6b890cd299758155
  Author: Josh Durgin <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: add an asynchronous flush

The existing bdrv_co_flush_to_disk implementation uses rbd_flush(),
which is sychronous and causes the main qemu thread to block until it
is complete. This results in unresponsiveness and extra latency for
the guest.

Fix this by using an asynchronous version of flush.  This was added to
librbd with a special #define to indicate its presence, since it will
be backported to stable versions. Thus, there is no need to check the
version of librbd.

Implement this as bdrv_aio_flush, since it matches other aio functions
in the rbd block driver, and leave out bdrv_co_flush_to_disk when the
asynchronous version is available.

Reported-by: Oliver Francke <address@hidden>
Signed-off-by: Josh Durgin <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: b25ce104a2ea690d77b1803cc829fee3142b310d
      
https://github.com/qemu/qemu/commit/b25ce104a2ea690d77b1803cc829fee3142b310d
  Author: Anthony Liguori <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M savevm.c

  Log Message:
  -----------
  Merge remote-tracking branch 'quintela/migration.next' into staging

# By Paolo Bonzini
# Via Juan Quintela
* quintela/migration.next:
  migration: simplify writev vs. non-writev logic
  migration: drop is_write complications
  migration: use a single I/O operation when writev_buffer is not defined
  migration: set f->is_write and flush in add_to_iovec

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


  Commit: c530b1423b86f1589c49bccb460a75cb87322562
      
https://github.com/qemu/qemu/commit/c530b1423b86f1589c49bccb460a75cb87322562
  Author: Anthony Liguori <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M hmp-commands.hx
    M hmp.c
    M hmp.h
    M monitor.c
    M qapi-schema.json
    M qmp-commands.hx
    M vl.c

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

# By Michal Novotny (2) and Eric Blake (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
  qapi: use valid JSON in schema
  Revert "New QMP command query-cpu-max and HMP command cpu_max"
  New cpu-max field in query-machines QMP command output

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


  Commit: db08dc213ba87d16c34c235f5c83f70f0239f023
      
https://github.com/qemu/qemu/commit/db08dc213ba87d16c34c235f5c83f70f0239f023
  Author: Anthony Liguori <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M block.c
    M block/Makefile.objs
    M block/qcow2.c
    M block/rbd.c
    M block/sheepdog.c
    A block/ssh.c
    M configure
    M hw/ide/core.c
    M include/block/block.h
    M include/block/block_int.h
    M include/migration/qemu-file.h
    M qemu-doc.texi
    M qemu-options.hx
    M savevm.c
    M tests/qemu-iotests/002
    M tests/qemu-iotests/002.out
    A tests/qemu-iotests/051
    A tests/qemu-iotests/051.out
    M tests/qemu-iotests/common
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group

  Log Message:
  -----------
  Merge remote-tracking branch 'stefanha/block' into staging

* stefanha/block:
  rbd: add an asynchronous flush
  iotests: Add 'check -ssh' option to test Secure Shell block device.
  block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush to disk.
  block: Add support for Secure Shell (ssh) block device.
  ide: refuse WIN_READ_NATIVE_MAX on empty device
  qemu-iotests: filter QEMU_PROG in 051.out
  qemu-iotests: Add test for -drive options
  qemu-iotests: A few more bdrv_pread/pwrite tests
  block: Introduce bdrv_pwritev() for qcow2_save_vmstate
  savevm: Implement block_writev_buffer()
  block: Introduce bdrv_writev_vmstate

Conflicts:
        savevm.c

aliguori: add f->pos parameter to writev_buffer().

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


  Commit: e3d142d073d02f0a3a4aad79eb838c15b6f99c01
      
https://github.com/qemu/qemu/commit/e3d142d073d02f0a3a4aad79eb838c15b6f99c01
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  fpu: Correct edgecase in float64_muladd

In handling float64_muladd, if we end up doing a subtraction of the
product and c, and the 128 bit result of this subtraction happens to
have its most significant bit in bit 63, we weren't handling this
correctly when attempting to normalize to put the most significant
bit into bit 126.  We would end up doing a right shift by a negative
number (undefined behaviour in C) so at best we would return an
incorrect result to the guest.  MSB in bit 63 has to be handled as a
special case separately from MSB in 0..62 and MSB in 63..126.  (MSB
in 127 is not possible.)

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: b1ca31d7ce648a10e3513bb4b5e7f89a8702aec7
      
https://github.com/qemu/qemu/commit/b1ca31d7ce648a10e3513bb4b5e7f89a8702aec7
  Author: Petar Jovanovic <address@hidden>
  Date:   2013-04-15 (Mon, 15 Apr 2013)

  Changed paths:
    M target-mips/dsp_helper.c
    M tests/tcg/mips/mips32-dsp/maq_sa_w_phl.c
    M tests/tcg/mips/mips32-dsp/maq_sa_w_phr.c

  Log Message:
  -----------
  target-mips: fix mipsdsp_mul_q15_q15 and tests for MAQ_SA_W_PHL/PHR

The operands for MAQ_SA_W.PHL/MAQ_SA_W.PHR must in specified format.
Otherwise, the results are unpredictable. Once the operands were corrected
in the tests (part of this change), a bug in mipsdsp_mul_q15_q15 became
visible.

This change corrects the tests for MAQ_SA_W.PHL/MAQ_SA_W.PHR and fixes
sign-related issue in mipsdsp_mul_q15_q15. It also removes unnecessary
comment.

Signed-off-by: Petar Jovanovic <address@hidden>


Compare: https://github.com/qemu/qemu/compare/e2ec3f976803...b1ca31d7ce64

reply via email to

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