Skip to content

Commit

Permalink
console: remove do_safe_dpy_refresh
Browse files Browse the repository at this point in the history
Drop the temporary workaround for the broken display updates.
All display adapters are updated, so this should be safe without
causing regressions.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20170614084538.32480-1-kraxel@redhat.com
  • Loading branch information
kraxel committed Jun 21, 2017
1 parent a4f113f commit 3f8f131
Showing 1 changed file with 1 addition and 24 deletions.
25 changes: 1 addition & 24 deletions ui/console.c
Expand Up @@ -1579,36 +1579,13 @@ bool dpy_gfx_check_format(QemuConsole *con,
return true;
}

/*
* Safe DPY refresh for TCG guests. We use the exclusive mechanism to
* ensure the TCG vCPUs are quiescent so we can avoid races between
* dirty page tracking for direct frame-buffer access by the guest.
*
* This is a temporary stopgap until we've fixed the dirty tracking
* races in display adapters.
*/
static void do_safe_dpy_refresh(DisplayChangeListener *dcl)
{
qemu_mutex_unlock_iothread();
start_exclusive();
qemu_mutex_lock_iothread();
dcl->ops->dpy_refresh(dcl);
qemu_mutex_unlock_iothread();
end_exclusive();
qemu_mutex_lock_iothread();
}

static void dpy_refresh(DisplayState *s)
{
DisplayChangeListener *dcl;

QLIST_FOREACH(dcl, &s->listeners, next) {
if (dcl->ops->dpy_refresh) {
if (tcg_enabled()) {
do_safe_dpy_refresh(dcl);
} else {
dcl->ops->dpy_refresh(dcl);
}
dcl->ops->dpy_refresh(dcl);
}
}
}
Expand Down

0 comments on commit 3f8f131

Please sign in to comment.