1. 14 12月, 2018 15 次提交
  2. 13 12月, 2018 5 次提交
    • P
      Merge remote-tracking branch 'remotes/armbru/tags/pull-monitor-2018-12-12' into staging · c3ec0fa1
      Peter Maydell 提交于
      Monitor patches for 2018-12-12
      
      # gpg: Signature made Wed 12 Dec 2018 10:08:15 GMT
      # gpg:                using RSA key 3870B400EB918653
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
      # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653
      
      * remotes/armbru/tags/pull-monitor-2018-12-12:
        tests: add oob functional test for test-qmp-cmds
        Revert "tests: Add parameter to qtest_init_without_qmp_handshake"
        monitor: Remove "x-oob", offer capability "oob" unconditionally
        monitor: Suspend monitor instead dropping commands
        monitor: avoid potential dead-lock when cleaning up
        monitor: prevent inserting new monitors after cleanup
        colo: check chardev can switch context
        monitor: check if chardev can switch gcontext for OOB
        char: add a QEMU_CHAR_FEATURE_GCONTEXT flag
        monitor: accept chardev input from iothread
        monitor: inline ambiguous helper functions
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      c3ec0fa1
    • P
      Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20181212' into staging · 6145a6d8
      Peter Maydell 提交于
      s390x patches for 4.0:
      - add 4.0 machine type
      - various fixes and small changes
      
      # gpg: Signature made Wed 12 Dec 2018 09:52:04 GMT
      # gpg:                using RSA key DECF6B93C6F02FAF
      # gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>"
      # gpg:                 aka "Cornelia Huck <huckc@linux.vnet.ibm.com>"
      # gpg:                 aka "Cornelia Huck <cornelia.huck@de.ibm.com>"
      # gpg:                 aka "Cornelia Huck <cohuck@kernel.org>"
      # gpg:                 aka "Cornelia Huck <cohuck@redhat.com>"
      # Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF
      
      * remotes/cohuck/tags/s390x-20181212:
        hw/s390x/virtio-ccw.c: Don't take address of fields in packed structs
        vfio-ap: flag as compatible with balloon
        s390x/tod: Properly stop the KVM TOD while the guest is not running
        s390/MAINTAINERS: Add Halil as kvm and machine maintainer
        s390x: introduce 4.0 compat machine
        s390x/zpci: drop msix.available
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      6145a6d8
    • P
      Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging · b39c027d
      Peter Maydell 提交于
      Pull request
      
      Minor virtio-blk fixes.
      
      # gpg: Signature made Wed 12 Dec 2018 09:50:17 GMT
      # gpg:                using RSA key 9CA4ABB381AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"
      # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8
      
      * remotes/stefanha/tags/block-pull-request:
        virtio-blk: fix comment for virtio_blk_rw_complete as nalloc is initially -1
        virtio-blk: rename iov to out_iov in virtio_blk_handle_request()
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      b39c027d
    • P
      Merge remote-tracking branch 'remotes/stefanberger/tags/pull-tpm-2018-12-04-1' into staging · 41d8452d
      Peter Maydell 提交于
      Merge tpm 2018/12/04 v1
      
      # gpg: Signature made Tue 04 Dec 2018 15:25:52 GMT
      # gpg:                using RSA key 75AD65802A0B4211
      # gpg: Good signature from "Stefan Berger <stefanb@linux.vnet.ibm.com>"
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: B818 B9CA DF90 89C2 D5CE  C66B 75AD 6580 2A0B 4211
      
      * remotes/stefanberger/tags/pull-tpm-2018-12-04-1:
        tpm: Make sure the locality received from backend is valid
        tpm: Make sure new locality passed to tpm_tis_prep_abort() is valid
        tpm: Remove unused locty parameter from tpm_tis_abort()
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      41d8452d
    • P
      Merge remote-tracking branch 'remotes/ehabkost/tags/x86-next-pull-request' into staging · 8be76cf1
      Peter Maydell 提交于
      x86 queue, 2018-12-11
      
      * New CPU features: MOVDIRI, MOVDIR64B (Liu Jingqi);
        STIBP (Eduardo Habkost)
      * Fix clang build warning (Peter Maydell)
      
      # gpg: Signature made Tue 11 Dec 2018 20:52:56 GMT
      # gpg:                using RSA key 2807936F984DC5A6
      # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>"
      # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6
      
      * remotes/ehabkost/tags/x86-next-pull-request:
        i386: Add "stibp" flag name
        target/i386/kvm.c: Don't mark cpuid_data as QEMU_PACKED
        x86/cpu: Enable MOVDIR64B cpu feature
        x86/cpu: Enable MOVDIRI cpu feature
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      8be76cf1
  3. 12 12月, 2018 20 次提交
    • P
      hw/s390x/virtio-ccw.c: Don't take address of fields in packed structs · c9aacaad
      Peter Maydell 提交于
      Taking the address of a field in a packed struct is a bad idea, because
      it might not be actually aligned enough for that pointer type (and
      thus cause a crash on dereference on some host architectures). Newer
      versions of clang warn about this. Avoid the bug by not using the
      "modify in place" byte swapping functions.
      
      Patch produced with scripts/coccinelle/inplace-byteswaps.cocci
      (with a couple of long lines manually wrapped).
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-Id: <20181210120436.30522-1-peter.maydell@linaro.org>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NHalil Pasic <pasic@linux.ibm.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      c9aacaad
    • C
      vfio-ap: flag as compatible with balloon · 1883e8fc
      Cornelia Huck 提交于
      vfio-ap devices do not pin any pages in the host. Therefore, they
      are compatible with memory ballooning.
      
      Flag them as compatible, so both vfio-ap and a balloon can be
      used simultaneously.
      
      Cc: qemu-stable@nongnu.org
      Acked-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Tested-by: NTony Krowiak <akrowiak@linux.ibm.com>
      Reviewed-by: NHalil Pasic <pasic@linux.ibm.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      1883e8fc
    • D
      s390x/tod: Properly stop the KVM TOD while the guest is not running · 9bc9d3d1
      David Hildenbrand 提交于
      Just like on other architectures, we should stop the clock while the guest
      is not running. This is already properly done for TCG. Right now, doing an
      offline migration (stop, migrate, cont) can easily trigger stalls in the
      guest.
      
      Even doing a
          (hmp) stop
          ... wait 2 minutes ...
          (hmp) cont
      will already trigger stalls.
      
      So whenever the guest stops, backup the KVM TOD. When continuing to run
      the guest, restore the KVM TOD.
      
      One special case is starting a simple VM: Reading the TOD from KVM to
      stop it right away until the guest is actually started means that the
      time of any simple VM will already differ to the host time. We can
      simply leave the TOD running and the guest won't be able to recognize
      it.
      
      For migration, we actually want to keep the TOD stopped until really
      starting the guest. To be able to catch most errors, we should however
      try to set the TOD in addition to simply storing it. So we can still
      catch basic migration problems.
      
      If anything goes wrong while backing up/restoring the TOD, we have to
      ignore it (but print a warning). This is then basically a fallback to
      old behavior (TOD remains running).
      
      I tested this very basically with an initrd:
          1. Start a simple VM. Observed that the TOD is kept running. Old
             behavior.
          2. Ordinary live migration. Observed that the TOD is temporarily
             stopped on the destination when setting the new value and
             correctly started when finally starting the guest.
          3. Offline live migration. (stop, migrate, cont). Observed that the
             TOD will be stopped on the source with the "stop" command. On the
             destination, the TOD is temporarily stopped when setting the new
             value and correctly started when finally starting the guest via
             "cont".
          4. Simple stop/cont correctly stops/starts the TOD. (multiple stops
             or conts in a row have no effect, so works as expected)
      
      In the future, we might want to send the guest a special kind of time sync
      interrupt under some conditions, so it can synchronize its tod to the
      host tod. This is interesting for migration scenarios but also when we
      get time sync interrupts ourselves. This however will most probably have
      to be handled in KVM (e.g. when the tods differ too much) and is not
      desired e.g. when debugging the guest (single stepping should not
      result in permanent time syncs). I consider something like that an add-on
      on top of this basic "don't break the guest" handling.
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20181130094957.4121-1-david@redhat.com>
      Acked-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Reviewed-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      9bc9d3d1
    • C
      s390/MAINTAINERS: Add Halil as kvm and machine maintainer · 7c8e2647
      Christian Borntraeger 提交于
      Halil does more work in this area than I do right now. Lets add Halil.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Message-Id: <20181204133802.100998-1-borntraeger@de.ibm.com>
      Acked-by: NHalil Pasic <pasic@linux.ibm.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      7c8e2647
    • C
      s390x: introduce 4.0 compat machine · 8c7b0c73
      Cornelia Huck 提交于
      Reviewed-by: NDavid Hildenbrand <david@redhat.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      8c7b0c73
    • D
      s390x/zpci: drop msix.available · c8a7cafa
      David Hildenbrand 提交于
      I fail to see why this is useful as we require MSIX always and
      completely fail adding a device.
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20181105110313.29312-2-david@redhat.com>
      Fixes: 4f6482bfReviewed-by: NThomas Huth <thuth@redhat.com>
      Reviewed-by: NCollin Walling <walling@linux.ibm.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      c8a7cafa
    • P
      tests: add oob functional test for test-qmp-cmds · c55f070b
      Peter Xu 提交于
      Straightforward test just to let the test-qmp-cmds be complete.
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Message-Id: <20181009062718.1914-6-peterx@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      c55f070b
    • P
      Revert "tests: Add parameter to qtest_init_without_qmp_handshake" · 192f26a7
      Peter Xu 提交于
      This reverts commit ddee57e0.
      
      Meanwhile, revert one line from fa198ad9 to make sure
      qtest_init_without_qmp_handshake() will only pass in one parameter.
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Message-Id: <20181009062718.1914-5-peterx@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      192f26a7
    • P
      monitor: Remove "x-oob", offer capability "oob" unconditionally · 8258292e
      Peter Xu 提交于
      Out-of-band command execution was introduced in commit cf869d53.
      Unfortunately, we ran into a regression, and had to turn it into an
      experimental option for 2.12 (commit be933ffc).
      
        http://lists.gnu.org/archive/html/qemu-devel/2018-03/msg06231.html
      
      The regression has since been fixed (commit 951702f3 "monitor: bind
      dispatch bh to iohandler context").  A thorough re-review of OOB
      commands led to a few more issues, which have also been addressed.
      
      This patch partly reverts be933ffc (monitor: new parameter "x-oob"),
      and makes QMP monitors again offer capability "oob" whenever they can
      provide it, i.e. when the monitor's character device is capable of
      running in an I/O thread.
      
      Some trivial touch-up in the test code is required to make sure qmp-test
      won't break.
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Message-Id: <20181009062718.1914-4-peterx@redhat.com>
      [Conflict with "monitor: check if chardev can switch gcontext for OOB"
      resolved, commit message updated]
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      8258292e
    • D
      virtio-blk: fix comment for virtio_blk_rw_complete as nalloc is initially -1 · e61809ed
      Dongli Zhang 提交于
      The initial value of nalloc is -1, but not 1.
      Signed-off-by: NDongli Zhang <dongli.zhang@oracle.com>
      Reviewed-by: NLaurent Vivier <laurent@vivier.eu>
      Message-id: 1541479952-32355-1-git-send-email-dongli.zhang@oracle.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      e61809ed
    • D
      virtio-blk: rename iov to out_iov in virtio_blk_handle_request() · 5636da76
      Dongli Zhang 提交于
      In virtio_blk_handle_request(), in_iov is used for input header while iov
      is used for output header. Rename iov to out_iov to pair output header's
      name with in_iov to avoid confusing people when reading source code.
      Signed-off-by: NDongli Zhang <dongli.zhang@oracle.com>
      Message-id: 1541520556-8334-1-git-send-email-dongli.zhang@oracle.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      5636da76
    • P
      monitor: Suspend monitor instead dropping commands · 9ab84470
      Peter Xu 提交于
      When a QMP client sends in-band commands more quickly that we can
      process them, we can either queue them without limit (QUEUE), drop
      commands when the queue is full (DROP), or suspend receiving commands
      when the queue is full (SUSPEND).  None of them is ideal:
      
      * QUEUE lets a misbehaving client make QEMU eat memory without bounds.
      Not such a hot idea.
      
      * With DROP, the client has to cope with dropped in-band commands.  To
      inform the client, we send a COMMAND_DROPPED event then.  The event is
      flawed by design in two ways: it's ambiguous (see commit d621cfe0),
      and it brings back the "eat memory without bounds" problem.
      
      * With SUSPEND, the client has to manage the flow of in-band commands to
      keep the monitor available for out-of-band commands.
      
      We currently DROP.  Switch to SUSPEND.
      
      Managing the flow of in-band commands to keep the monitor available for
      out-of-band commands isn't really hard: just count the number of
      "outstanding" in-band commands (commands sent minus replies received),
      and if it exceeds the limit, hold back additional ones until it drops
      below the limit again.
      
      Note that we need to be careful pairing the suspend with a resume, or
      else the monitor will hang, possibly forever.  And here since we need to
      make sure both:
      
           (1) popping request from the req queue, and
           (2) reading length of the req queue
      
      will be in the same critical section, we let the pop function take the
      corresponding queue lock when there is a request, then we release the
      lock from the caller.
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Message-Id: <20181009062718.1914-2-peterx@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      9ab84470
    • M
      monitor: avoid potential dead-lock when cleaning up · 34f1f3e0
      Marc-André Lureau 提交于
      When a monitor is connected to a Spice chardev, the monitor cleanup
      can dead-lock:
      
       #0  0x00007f43446637fd in __lll_lock_wait () at /lib64/libpthread.so.0
       #1  0x00007f434465ccf4 in pthread_mutex_lock () at /lib64/libpthread.so.0
       #2  0x0000556dd79f22ba in qemu_mutex_lock_impl (mutex=0x556dd81c9220 <monitor_lock>, file=0x556dd7ae3648 "/home/elmarco/src/qq/monitor.c", line=645) at /home/elmarco/src/qq/util/qemu-thread-posix.c:66
       #3  0x0000556dd7431bd5 in monitor_qapi_event_queue (event=QAPI_EVENT_SPICE_DISCONNECTED, qdict=0x556dd9abc850, errp=0x7fffb7bbddd8) at /home/elmarco/src/qq/monitor.c:645
       #4  0x0000556dd79d476b in qapi_event_send_spice_disconnected (server=0x556dd98ee760, client=0x556ddaaa8560, errp=0x556dd82180d0 <error_abort>) at qapi/qapi-events-ui.c:149
       #5  0x0000556dd7870fc1 in channel_event (event=3, info=0x556ddad1b590) at /home/elmarco/src/qq/ui/spice-core.c:235
       #6  0x00007f434560a6bb in reds_handle_channel_event (reds=<optimized out>, event=3, info=0x556ddad1b590) at reds.c:316
       #7  0x00007f43455f393b in main_dispatcher_self_handle_channel_event (info=0x556ddad1b590, event=3, self=0x556dd9a7d8c0) at main-dispatcher.c:197
       #8  0x00007f43455f393b in main_dispatcher_channel_event (self=0x556dd9a7d8c0, event=event@entry=3, info=0x556ddad1b590) at main-dispatcher.c:197
       #9  0x00007f4345612833 in red_stream_push_channel_event (s=s@entry=0x556ddae2ef40, event=event@entry=3) at red-stream.c:414
       #10 0x00007f434561286b in red_stream_free (s=0x556ddae2ef40) at red-stream.c:388
       #11 0x00007f43455f9ddc in red_channel_client_finalize (object=0x556dd9bb21a0) at red-channel-client.c:347
       #12 0x00007f434b5f9fb9 in g_object_unref () at /lib64/libgobject-2.0.so.0
       #13 0x00007f43455fc212 in red_channel_client_push (rcc=0x556dd9bb21a0) at red-channel-client.c:1341
       #14 0x0000556dd76081ba in spice_port_set_fe_open (chr=0x556dd9925e20, fe_open=0) at /home/elmarco/src/qq/chardev/spice.c:241
       #15 0x0000556dd796d74a in qemu_chr_fe_set_open (be=0x556dd9a37c00, fe_open=0) at /home/elmarco/src/qq/chardev/char-fe.c:340
       #16 0x0000556dd796d4d9 in qemu_chr_fe_set_handlers (b=0x556dd9a37c00, fd_can_read=0x0, fd_read=0x0, fd_event=0x0, be_change=0x0, opaque=0x0, context=0x0, set_open=true) at /home/elmarco/src/qq/chardev/char-fe.c:280
       #17 0x0000556dd796d359 in qemu_chr_fe_deinit (b=0x556dd9a37c00, del=false) at /home/elmarco/src/qq/chardev/char-fe.c:233
       #18 0x0000556dd7432240 in monitor_data_destroy (mon=0x556dd9a37c00) at /home/elmarco/src/qq/monitor.c:786
       #19 0x0000556dd743b968 in monitor_cleanup () at /home/elmarco/src/qq/monitor.c:4683
       #20 0x0000556dd75ce776 in main (argc=3, argv=0x7fffb7bbe458, envp=0x7fffb7bbe478) at /home/elmarco/src/qq/vl.c:4660
      
      Because spice code tries to emit a "disconnected" signal on the
      monitors. Fix this dead-lock by releasing the monitor lock for
      flush/destroy.
      
      monitor_lock protects mon_list, monitor_qapi_event_state and
      monitor_destroyed. monitor_flush() and monitor_data_destroy() don't
      access any of those variables.
      
      monitor_cleanup()'s loop is safe because it uses
      QTAILQ_FOREACH_SAFE(), and no further monitor can be added after
      calling monitor_cleanup() thanks to monitor_destroyed check in
      monitor_list_append().
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20181205203737.9011-8-marcandre.lureau@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      34f1f3e0
    • M
      monitor: prevent inserting new monitors after cleanup · 8dac00bb
      Marc-André Lureau 提交于
      monitor_cleanup() is one of the last things main() calls before it
      returns.  In the following patch, monitor_cleanup() will release the
      monitor_lock during flushing. There may be pending commands to insert
      new monitors, which would modify the mon_list during iteration, and
      the clean-up could thus miss those new insertions.
      
      Add a monitor_destroyed global to check if monitor_cleanup() has been
      already called. In this case, don't insert the new monitor in the
      list, but free it instead. A cleaner solution would involve the main
      thread telling other threads to terminate, waiting for their
      termination.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20181205203737.9011-7-marcandre.lureau@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      8dac00bb
    • M
      colo: check chardev can switch context · 269d25cd
      Marc-André Lureau 提交于
      COLO uses a worker context (iothread) to drive the chardev. All
      backends are not able to switch the context, let's report an error in
      this case.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20181205203737.9011-6-marcandre.lureau@redhat.com>
      Reviewed-by: NLi Zhijian <lizhiian@cn.fujitsu.com>
      Reviewed-by: NZhang Chen <zhangckid@gmail.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      269d25cd
    • M
      monitor: check if chardev can switch gcontext for OOB · a9a0d9b9
      Marc-André Lureau 提交于
      Not all backends are able to switch gcontext. Those backends cannot
      drive a OOB monitor (the monitor would then be blocking on main
      thread).
      
      For example, ringbuf, spice, or more esoteric input chardevs like
      braille or MUX.
      
      We already forbid MUX because not all frontends are ready to run outside
      main loop.  Replace that by a context-switching feature check.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20181205203737.9011-5-marcandre.lureau@redhat.com>
      [Error condition simplified, commit message adjusted accordingly]
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      a9a0d9b9
    • M
      char: add a QEMU_CHAR_FEATURE_GCONTEXT flag · 9ac3788b
      Marc-André Lureau 提交于
      QEMU_CHAR_FEATURE_GCONTEXT declares the character device can switch
      GMainContext.
      
      Assert we don't switch context when the character device doesn't
      provide this feature.  Character device users must not violate this
      restriction.  In particular, user configurations that violate them
      must be rejected.
      
      Existing frontend that rely on context switching would now assert() if
      the backend doesn't allow it (instead of silently producing undesired
      events in the default context). Following patches improve the
      situation by reporting an error earlier instead, on the frontend side.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20181205203737.9011-4-marcandre.lureau@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      9ac3788b
    • M
      monitor: accept chardev input from iothread · ef12a703
      Marc-André Lureau 提交于
      Chardev backends may not handle safely IO events from concurrent
      threads (may not handle I/O events from concurrent threads safely,
      only the write path is since commit >
      9005b2a7). Better to wake up the
      chardev from the monitor IO thread if it's being used as the chardev
      context.
      
      Unify code paths by using a BH in all cases.
      
      Drop the now redundant aio_notify() call.
      
      Clean up control flow not to rely on mon->use_io_thread implying
      monitor_is_qmp(mon).
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NPeter Xu <peterx@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20181205203737.9011-3-marcandre.lureau@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      ef12a703
    • M
      monitor: inline ambiguous helper functions · 88e40e43
      Marc-André Lureau 提交于
      The function were not named with "mon_iothread", or following the AIO
      vs GMainContext distinction. Inline them instead.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NPeter Xu <peterx@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20181205203737.9011-2-marcandre.lureau@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      88e40e43
    • P
      Merge remote-tracking branch 'remotes/vivier2/tags/trivial-patches-pull-request' into staging · 4b3aab20
      Peter Maydell 提交于
      Trivial patches (2018-12-11)
      
      # gpg: Signature made Tue 11 Dec 2018 18:02:20 GMT
      # gpg:                using RSA key F30C38BD3F2FBE3C
      # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>"
      # gpg:                 aka "Laurent Vivier <laurent@vivier.eu>"
      # gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>"
      # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
      
      * remotes/vivier2/tags/trivial-patches-pull-request: (30 commits)
        Fixes i386 xchgq test
        maint: Grammar fix to mailmap
        MAINTAINERS: Update email address for Fam Zheng
        cutils: Assert in-range base for string-to-integer conversions
        util: vfio-helpers: use ARRAY_SIZE in qemu_vfio_init_pci()
        target: hax: fix errors in comment
        MAINTAINERS: Use my work email to review Build and test automation patches
        MAINTAINERS: Add a missing entry for the NVDIMM device
        MAINTAINERS: Add a missing entry to the QMP section
        MAINTAINERS: Add a missing entry to SPICE
        MAINTAINERS: Add missing entries for the MPS2 machine
        MAINTAINERS: Add missing entries for the Canon DIGIC machine
        MAINTAINERS: Add missing entries to the vhost section
        MAINTAINERS: Add missing entries to the PC Chipset section
        MAINTAINERS: Add a missing entry for the sun4m machines
        MAINTAINERS: Add a missing entry for the Old World machines
        MAINTAINERS: Add a missing entry for the Xilinx S3A-DSP 1800 machine
        MAINTAINERS: Add missing entries for the Jazz machine
        MAINTAINERS: Add missing entries for the Xilinx ZynqMP machine
        MAINTAINERS: Add a missing entry to the SPARC CPU
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      4b3aab20