From: Akihiko Odaki <akihiko.odaki@gmail.com> To: Gerd Hoffmann <kraxel@redhat.com> Cc: Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>, "Michael S . Tsirkin" <mst@redhat.com>, qemu Developers <qemu-devel@nongnu.org>, Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org Subject: Re: [PATCH v2 2/2] virtio-gpu: Respect UI refresh rate for EDID Date: Thu, 11 Mar 2021 01:08:20 +0900 [thread overview] Message-ID: <CAMVc7JUjkXRyfd0-ak6ovOzfitNE6Qke2x3twXiLXMR7b3whcw@mail.gmail.com> (raw) In-Reply-To: <20210310132920.6rv5f62ineowzscq@sirius.home.kraxel.org> 2021年3月10日(水) 22:29 Gerd Hoffmann <kraxel@redhat.com>: > > Hi, > > > -static void xenfb_update_interval(void *opaque, uint64_t interval) > > +static void xenfb_ui_info(void *opaque, uint32_t idx, QemuUIInfo *info) > > > - .update_interval = xenfb_update_interval, > > + .ui_info = xenfb_ui_info, > > Hmm, I suspect xenfb really wants the actual refresh rate, even in case > vnc/sdl change it dynamically. Anthony? Stefano? > > I guess we should just leave the update_interval callback as-is, for > those who want know, and use ui_info->refresh_rate for the virtual edid > refresh rate (which may not match the actual update interval in case of > dynamic changes). Adding a comment explaining the difference to > console.h is a good idea too. sdl shortens update_interval to respond to user inputs, but it has nothing to do with frame buffer. Using ui_info->refresh_rate will eliminate worthless frame updates even for xenfb in such cases. xenfb has a behavior similar to virtio-gpu. Instead of generating interrupts, they just tell the refresh rate to the guest and expect the guest to provide a frame buffer by itself. I think the dynamic display mode change is also problematic for xenfb if the guest driver uses the information (although the Linux driver does not use it at least.) It is possible to have both of the refresh rate member in QemuUIInfo and update_interval, but I don't see a difference justifying that. Anyway, I'd also like to hear opinions from Xen developers. > > Otherwise looks good to me overall. Splitting the ui/gtk update to a > separate patch is probably a good idea. > I'll do so when submitting the next version. Regards, Akihiko Odaki
WARNING: multiple messages have this Message-ID (diff)
From: Akihiko Odaki <akihiko.odaki@gmail.com> To: Gerd Hoffmann <kraxel@redhat.com> Cc: qemu Developers <qemu-devel@nongnu.org>, xen-devel@lists.xenproject.org, "Michael S . Tsirkin" <mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org> Subject: Re: [PATCH v2 2/2] virtio-gpu: Respect UI refresh rate for EDID Date: Thu, 11 Mar 2021 01:08:20 +0900 [thread overview] Message-ID: <CAMVc7JUjkXRyfd0-ak6ovOzfitNE6Qke2x3twXiLXMR7b3whcw@mail.gmail.com> (raw) In-Reply-To: <20210310132920.6rv5f62ineowzscq@sirius.home.kraxel.org> 2021年3月10日(水) 22:29 Gerd Hoffmann <kraxel@redhat.com>: > > Hi, > > > -static void xenfb_update_interval(void *opaque, uint64_t interval) > > +static void xenfb_ui_info(void *opaque, uint32_t idx, QemuUIInfo *info) > > > - .update_interval = xenfb_update_interval, > > + .ui_info = xenfb_ui_info, > > Hmm, I suspect xenfb really wants the actual refresh rate, even in case > vnc/sdl change it dynamically. Anthony? Stefano? > > I guess we should just leave the update_interval callback as-is, for > those who want know, and use ui_info->refresh_rate for the virtual edid > refresh rate (which may not match the actual update interval in case of > dynamic changes). Adding a comment explaining the difference to > console.h is a good idea too. sdl shortens update_interval to respond to user inputs, but it has nothing to do with frame buffer. Using ui_info->refresh_rate will eliminate worthless frame updates even for xenfb in such cases. xenfb has a behavior similar to virtio-gpu. Instead of generating interrupts, they just tell the refresh rate to the guest and expect the guest to provide a frame buffer by itself. I think the dynamic display mode change is also problematic for xenfb if the guest driver uses the information (although the Linux driver does not use it at least.) It is possible to have both of the refresh rate member in QemuUIInfo and update_interval, but I don't see a difference justifying that. Anyway, I'd also like to hear opinions from Xen developers. > > Otherwise looks good to me overall. Splitting the ui/gtk update to a > separate patch is probably a good idea. > I'll do so when submitting the next version. Regards, Akihiko Odaki
next prev parent reply other threads:[~2021-03-10 16:38 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-03-03 15:29 [PATCH v2 1/2] edid: Make refresh rate configurable Akihiko Odaki 2021-03-03 15:29 ` Akihiko Odaki 2021-03-03 15:29 ` [PATCH v2 2/2] virtio-gpu: Respect UI refresh rate for EDID Akihiko Odaki 2021-03-03 15:29 ` Akihiko Odaki 2021-03-10 13:29 ` Gerd Hoffmann 2021-03-10 13:29 ` Gerd Hoffmann 2021-03-10 16:08 ` Akihiko Odaki [this message] 2021-03-10 16:08 ` Akihiko Odaki
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAMVc7JUjkXRyfd0-ak6ovOzfitNE6Qke2x3twXiLXMR7b3whcw@mail.gmail.com \ --to=akihiko.odaki@gmail.com \ --cc=anthony.perard@citrix.com \ --cc=kraxel@redhat.com \ --cc=mst@redhat.com \ --cc=paul@xen.org \ --cc=qemu-devel@nongnu.org \ --cc=sstabellini@kernel.org \ --cc=xen-devel@lists.xenproject.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.