KVM lock contention on 48 core AMD machine

2011-03-18 Thread Ben Nagy
Hi, We've been trying to debug a problem when bring up VMs on a 48 core AMD machine (4 x Opteron 6128). After some investigation and some helpful comments from #kvm, it appears that we hit a serious lock contention issue at a certain point. We have enabled lockdep debugging (had to increase MAX_LO

Re: KVM lock contention on 48 core AMD machine

2011-03-18 Thread Ben Nagy
On Fri, Mar 18, 2011 at 7:30 PM, Joerg Roedel wrote: > Hi Ben, > > Can you try to run > > # perf record -a -g > > for a while when your VMs are up and unresponsive? Hi Joerg, Thanks for the response. Here's that output: http://paste.ubuntu.com/582345/ Looks like it's spending all its time in k

Re: KVM lock contention on 48 core AMD machine

2011-03-21 Thread Ben Nagy
On Mon, Mar 21, 2011 at 3:35 PM, Avi Kivity wrote: > It's actually not kvm code, but timer code.  Please build qemu with > ./configure --disable-strip and redo. Bit of a status update: Removing the usb tablet device helped a LOT - lowered the number of machines we could bring up until the lock %

Re: KVM lock contention on 48 core AMD machine

2011-03-21 Thread Ben Nagy
On Mon, Mar 21, 2011 at 5:28 PM, Ben Nagy wrote: > Bit of a status update: [...] > Since the underlying configs have changed so much, I will set up, run > all the tests again and then followup if things are still locky. Which they are. I will need to get the git sources in order to b

Re: KVM lock contention on 48 core AMD machine

2011-03-21 Thread Ben Nagy
>> On Mon, Mar 21, 2011 at 7:38 PM, Avi Kivity  wrote: >> >  In the future, please post the binary perf.dat. >> >> Hi Avi, >> >> How do I do that? > > 'make nconfig' and go to the kernel hacking section. Imprecise question sorry, I meant how do I get the perf.dat not how do I disable the debugging

Re: KVM lock contention on 48 core AMD machine

2011-03-21 Thread Ben Nagy
On Mon, Mar 21, 2011 at 10:57 PM, Eric Dumazet wrote: > Le lundi 21 mars 2011 à 19:02 +0200, Avi Kivity a écrit : > >> Any ideas on how to fix it?  We could pre-allocate IDs and batch them in >> per-cpu caches, but it seems like a lot of work. >> > > Hmm, I dont know what syscalls kvm do, but even

Re: [PATCH] posix-timers: RCU conversion

2011-03-22 Thread Ben Nagy
On Tue, Mar 22, 2011 at 12:54 PM, Eric Dumazet wrote: > Ben Nagy reported a scalability problem with KVM/QEMU that hit very hard > a single spinlock (idr_lock) in posix-timers code, on its 48 core > machine. Hi all, Thanks a lot for all the help so far. We've tested with Eric'

Re: [PATCH] posix-timers: RCU conversion

2011-04-03 Thread Ben Nagy
On Tue, Mar 22, 2011 at 4:20 PM, Avi Kivity wrote: [...] > Looks like the posix-timer issue is completely gone, to be replaced by the > load balancer. > > Copying peterz. Hi all, I feel bad about such a big cc list, but I don't know who can be left out :/ Still got the performance issue with th

Re: [PATCH] posix-timers: RCU conversion

2011-04-05 Thread Ben Nagy
On Tue, Apr 5, 2011 at 2:48 PM, Peter Zijlstra wrote: > On Tue, 2011-04-05 at 11:56 +0300, Avi Kivity wrote: >> >> Could be waking up due to guest wakeups, or qemu internal wakeups >> (display refresh) or due to guest timer sources which are masked away in >> the guest (if that's the case we shoul