On 06/08/2010 10:05 AM, Chris Wright wrote:
Accelerating counters (aka moving PIT to userspace, keeping HPET in
userspace)
- PIT (in-kernel, userspace, or split)
- userspace PIT, too slow
- kernel PIT (already seen bugs)
- split PIT, not realistic w/out a sane interface (see bugs above)
- exit to userspace is a base cost, add MSR save/restore, add qemu
overhead...and exit to userspace is expensive
- hpet in userspace (at least minimal counter reading)
- ioapic
- less than half is architectural, more than half endds of being
interrupt reinjection
Live migration + hotplug
- start a machine, hotplug device, allocate ram...can't migrate
- last_offset and ramblock sections coming from cmdline may not be
compatible w/ hotplug
- worst case is different ramblock order and data corruption
- alex has patches to convert ramblocks into queuelist
- give name, offset
- will clean up and send out today
migration events?
- QMP (wire protocol) has nice async events
- QError reasonable
- migration is async command, can complete w/ error or success
- QMP broken for error
- need context for error, default is monitor, but async command
- redo qerror_report, propagate error (or always have error context
available)
- monitor and qmp done w/ same dispatch functions
- should do monitor in terms of qmp
- every qerror replacing monitor printf error
- ends up not sharing enough ($foo not found, where $foo is contextual)
- async command (pass in command completion)
- may have to do limited (throw away for 0.13 and redo properly for 0.14)
- anthony has a (not fully working) tree, and will document direction on wiki
http://wiki.qemu.org/Features/QMP2
Includes a pointer to the current tree I'm working out of.
Regards,
Anthony Liguori