qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] e18d9a: coroutine: let CoQueue wake up outsid


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] e18d9a: coroutine: let CoQueue wake up outside a coroutine
Date: Wed, 04 Nov 2020 09:41:19 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e18d9a9687ff0c30b70ee0a694d9fcf9333cd844
      
https://github.com/qemu/qemu/commit/e18d9a9687ff0c30b70ee0a694d9fcf9333cd844
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M util/qemu-coroutine-lock.c

  Log Message:
  -----------
  coroutine: let CoQueue wake up outside a coroutine

The assert() was added in commit b681a1c73e15 ("block: Repair the
throttling code."), when the qemu_co_queue_do_restart() function
required to be running in a coroutine. It was later made unnecessary in
commit a9d9235567e7 ("coroutine-lock: reschedule coroutine on the
AioContext it was running on").

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201027133602.3038018-2-marcandre.lureau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: d00ec2fe86e141324c26816c5847f425a63f851d
      
https://github.com/qemu/qemu/commit/d00ec2fe86e141324c26816c5847f425a63f851d
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M ui/console.c
    M ui/trace-events

  Log Message:
  -----------
  console: modify ppm_save to take a pixman image ref

The function is going to be called from a coroutine, and may yield.
Let's ensure our image reference doesn't change over time (due to resize
etc) by keeping a ref.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201027133602.3038018-3-marcandre.lureau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 0d9b90ce5c73505648909a89bcd5272081b9c348
      
https://github.com/qemu/qemu/commit/0d9b90ce5c73505648909a89bcd5272081b9c348
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hmp-commands.hx
    M monitor/hmp-cmds.c
    M qapi/ui.json
    M ui/console.c

  Log Message:
  -----------
  console: make QMP/HMP screendump run in coroutine

Thanks to the monitors' coroutine support (merge commit b7092cda1b3),
the screendump handler can trigger a graphic_hw_update(), yield and let
the main loop run until update is done. Then the handler is resumed, and
ppm_save() will write the screen image to disk in the coroutine context.

The IO is still blocking though, as the file is set blocking so far,
this could be addressed by some future change (with other caveats).

Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=1230527

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-id: 20201027133602.3038018-4-marcandre.lureau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 3c8c36c9087da957f580a9bb5ebf7814a753d1c6
      
https://github.com/qemu/qemu/commit/3c8c36c9087da957f580a9bb5ebf7814a753d1c6
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hmp-commands.hx
    M monitor/hmp-cmds.c
    M qapi/ui.json
    M ui/console.c
    M ui/trace-events
    M util/qemu-coroutine-lock.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kraxel/tags/ui-20201104-pull-request' 
into staging

ui: run screendump in coroutine

# gpg: Signature made Wed 04 Nov 2020 13:53:50 GMT
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/ui-20201104-pull-request:
  console: make QMP/HMP screendump run in coroutine
  console: modify ppm_save to take a pixman image ref
  coroutine: let CoQueue wake up outside a coroutine

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/b1266b6ee5ae...3c8c36c9087d



reply via email to

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