On Tue, Jun 28, 2016 at 11:17:59AM +0100, Dr. David Alan Gilbert wrote: > * Daniel P. Berrange (berra...@redhat.com) wrote: > > On Tue, Jun 28, 2016 at 11:39:03AM +0200, Peter Lieven wrote: > > > Am 28.06.2016 um 11:29 schrieb Dr. David Alan Gilbert: > > > > * Peter Lieven (p...@kamp.de) wrote: > > > > > this struct is approx 75kB > > > > I wonder why it's so large. > > > > > > > > The stack size in QmpInputVisitor; it's got a 1024 element stack > > > > (QIV_STACK_SIZE) and I bet we never use anywhere near that. > > > > > > > > But even then that's 1024 * a 3 pointer stack object, 24 bytes - > > > > I don't see where the rest of that 75kB comes from. > > > > > > Sorry, I had a wrong size in mind. Its 24736 bytes. But thats > > > still larger than expecetd, right? > > > > > > > I'm a little wary about turning all these malloc's into mmap's > > > > because we do seem to use things like input visitors for small > > > > things; don't the cost of doing the mmap's add up in time > > > > instead of space? > > > > > > Sure, we should discuss this. The series should act as a base for > > > discussion. > > > > > > None of the things I changed into mmap are continously called > > > during VM runtime. So it most likely only happens at setup of the > > > vServer. > > > > QmpInputVisitor is used to parse all QMP monitor commands, so will > > be used continuously throughout life of QEMU, often very frequently. > > eg When migration is running many monitor commands per second are > > expected > > Does the same input visitor get reused by each command?
Opps, actually no i'm wrong, its only used by the 'object_add' command but that does allocate a new one for each invokation. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|