Hi Christoffer,
On Wed, Jan 2, 2013 at 7:17 PM, Christoffer Dall <cdall@xxxxxxxxxxxxxxx> wrote:
One possibility - qemu uses coroutines for IO. There are various backends for coroutines, and the qemu configure script will try to choose the best one. Perhaps your environment is lacking system calls such as makecontext and the configure script is falling back to a coroutine backend using pthreads. I've found that this can cause 50000+ threads to be spawned just during a loadvm operation, for instance.
Regards
The culprit seems to be when the process runs out of virtual address
space on 32-bit systems due to some subsystem (virtio?) creating a
large number of pthreads under heavy workloads.
One possibility - qemu uses coroutines for IO. There are various backends for coroutines, and the qemu configure script will try to choose the best one. Perhaps your environment is lacking system calls such as makecontext and the configure script is falling back to a coroutine backend using pthreads. I've found that this can cause 50000+ threads to be spawned just during a loadvm operation, for instance.
If this fits the symptoms, try using the --with-coroutine option during qemu configure.
Regards
Adrian
_______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm