This replaces the direct call of flush_queued_data with a bottom half, making the callpath for the chardev identical in a normal write and a write resulting from unthrottling.
It includes a patch to add an accessor to QEMUBH to get scheduled status, to keep the bh scheduled across migration. Migration only trivially tested - just that it didn't break. Alon Levy (3): virtio-serial-bus: use bh for unthrottling bh: add qemu_bh_is_scheduled virtio-serial-bus: on migration send status of pending ports bh async.c | 4 ++++ hw/virtio-serial-bus.c | 25 ++++++++++++++++++++----- hw/virtio-serial.h | 5 +++++ qemu-common.h | 1 + 4 files changed, 30 insertions(+), 5 deletions(-) -- 1.7.4.4