Re: [Qemu-devel] [PATCH 00/10] ehci: various fixes
On 11/14/12 17:21, Hans de Goede wrote: While working on moving usb-redir and usb-hid over to using async packet handling for their interrupt input endpoints. I've found and fixed quite a few ehci bugs. Unfortunately the moving to async for interrupt endpoints turns out to be a bad idea, as it causes issues for migration, an async completed packet will not getting written back to guest memory until the next poll time, and if a migration happens in between it will get lost! Ok, so it looks like 1-3 are clear bugfixes which are needed in 1.3 I'd tend to schedule the other ones for the 1.4 devel cycle. They are clearly nice cleanups, but as we are not going the async-for-intr route I think they are not important enougth to push them post-freeze. Patch 8 doesn't pass checkpatch (yes, it just shuffles around existing code, but it's still nice to fix style issues while touching those bits). cheers, Gerd
Re: [Qemu-devel] [PATCH 00/10] ehci: various fixes
Hi, On 11/15/2012 09:55 AM, Gerd Hoffmann wrote: On 11/14/12 17:21, Hans de Goede wrote: While working on moving usb-redir and usb-hid over to using async packet handling for their interrupt input endpoints. I've found and fixed quite a few ehci bugs. Unfortunately the moving to async for interrupt endpoints turns out to be a bad idea, as it causes issues for migration, an async completed packet will not getting written back to guest memory until the next poll time, and if a migration happens in between it will get lost! Ok, so it looks like 1-3 are clear bugfixes which are needed in 1.3 Ack, I think that ehci: Don't verify the next pointer for periodic qh-s belongs in 1.3 too, since this could be hit with host-redirection which does use async completion for interrupt endpoints. Moving it forward in the patch-set will cause a conflict though, I'll go and do the reshuffle myself, throw in 2 usb-redir fixes and then send a new set targetting 1.3. Do you also want a separate set on top for 1.4 / usb-next, or do you want me to keep the rest in my own tree for now ? I'd tend to schedule the other ones for the 1.4 devel cycle. They are clearly nice cleanups, but as we are not going the async-for-intr route I think they are not important enougth to push them post-freeze. Ok. Patch 8 doesn't pass checkpatch (yes, it just shuffles around existing code, but it's still nice to fix style issues while touching those bits). Agreed, will fix. Regards, Hans
Re: [Qemu-devel] [PATCH 00/10] ehci: various fixes
On 11/15/12 12:58, Hans de Goede wrote: Hi, On 11/15/2012 09:55 AM, Gerd Hoffmann wrote: On 11/14/12 17:21, Hans de Goede wrote: While working on moving usb-redir and usb-hid over to using async packet handling for their interrupt input endpoints. I've found and fixed quite a few ehci bugs. Unfortunately the moving to async for interrupt endpoints turns out to be a bad idea, as it causes issues for migration, an async completed packet will not getting written back to guest memory until the next poll time, and if a migration happens in between it will get lost! Ok, so it looks like 1-3 are clear bugfixes which are needed in 1.3 Ack, I think that ehci: Don't verify the next pointer for periodic qh-s belongs in 1.3 too, since this could be hit with host-redirection which does use async completion for interrupt endpoints. Moving it forward in the patch-set will cause a conflict though, I'll go and do the reshuffle myself, throw in 2 usb-redir fixes and then send a new set targetting 1.3. Thanks. Do you also want a separate set on top for 1.4 / usb-next, or do you want me to keep the rest in my own tree for now ? Keep it in your tree for now. cheers, Gerd
Re: [Qemu-devel] [PATCH 00/10] ehci: various fixes
Hi, Ok, so it looks like 1-3 are clear bugfixes which are needed in 1.3 Moving it forward in the patch-set will cause a conflict though, I'll go and do the reshuffle myself, throw in 2 usb-redir fixes and then send a new set Oh, and I've picked 1-3 already, no need to resend them. cheers, Gerd
[Qemu-devel] [PATCH 00/10] ehci: various fixes
While working on moving usb-redir and usb-hid over to using async packet handling for their interrupt input endpoints. I've found and fixed quite a few ehci bugs. Unfortunately the moving to async for interrupt endpoints turns out to be a bad idea, as it causes issues for migration, an async completed packet will not getting written back to guest memory until the next poll time, and if a migration happens in between it will get lost! So now I'm working on making all qemu usb-devices call wakeup when they have interrupt data ready (something which is needed for xhci anyways), and then we can still slowdown the frame timer when there are no isoc packets in the periodic schedule, using the wakeup as a notifier to run the frame-timer earlier. While I'm working on this, the ehci fixes can already go upstream, as they are ready and have been extensively tested. Regards, Hans