arm: 0.826 device: 0.770 architecture: 0.706 graphic: 0.678 register: 0.628 debug: 0.578 performance: 0.520 semantic: 0.397 kernel: 0.376 ppc: 0.346 risc-v: 0.337 vnc: 0.309 mistranslation: 0.304 PID: 0.298 boot: 0.277 files: 0.271 user-level: 0.230 socket: 0.224 TCG: 0.205 permissions: 0.190 VMM: 0.107 virtual: 0.093 network: 0.087 hypervisor: 0.048 assembly: 0.033 i386: 0.020 peripherals: 0.012 KVM: 0.006 x86: 0.001 gdbstub XML generation for ARM is done for every CPU Description of problem: - As arm_cpu_register_gdb_regs_for_features is called from the device realize stage for each vCPU in user mode we end up uselessly regenerating the XML for every new thread. Once you get up to 100 threads this starts exceeding the large maps done for QHT and PageDesc Steps to reproduce: See above command line, valgrind picks it up Additional information: See also #866, #967