Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: xennet performance collapses with multiple vCPU



On Mon, Apr 13, 2020 at 01:44:10PM +0200, Manuel Bouyer wrote:
> Hello,
> some more data on this issue. With ping I can notice a consistent 10ms delay:
> PING nephtys.lip6.fr (195.83.118.1): 56 data bytes
> 64 bytes from 195.83.118.1: icmp_seq=0 ttl=253 time=8.964715 ms
> 64 bytes from 195.83.118.1: icmp_seq=1 ttl=253 time=10.080450 ms
> 64 bytes from 195.83.118.1: icmp_seq=2 ttl=253 time=10.079291 ms
> 64 bytes from 195.83.118.1: icmp_seq=3 ttl=253 time=10.079525 ms
> 64 bytes from 195.83.118.1: icmp_seq=4 ttl=253 time=10.083389 ms
> 64 bytes from 195.83.118.1: icmp_seq=5 ttl=253 time=10.080444 ms
> 64 bytes from 195.83.118.1: icmp_seq=6 ttl=253 time=10.079615 ms
> 64 bytes from 195.83.118.1: icmp_seq=7 ttl=253 time=10.081661 ms
> 
> Sometimes it drops and stays at 5ms.
> 
> With a single CPU, the RTT is less than one millisecond.
> Keeping both CPUs busy wit a while(1) loop doesn't help.
> 
> It looks like something is delayed to the next clock tick.
> Note that the dom0 is idle and no other VMs are running.
> 

FYI the attached patch is enough to workaround the problem for me.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--
Index: sys/kern/subr_cpu.c
===================================================================
RCS file: /cvsroot/src/sys/kern/subr_cpu.c,v
retrieving revision 1.14
diff -u -p -u -r1.14 subr_cpu.c
--- sys/kern/subr_cpu.c	26 Mar 2020 19:23:18 -0000	1.14
+++ sys/kern/subr_cpu.c	13 Apr 2020 14:51:29 -0000
@@ -282,7 +282,7 @@ cpu_topology_init(void)
 
 	if (!cpu_topology_present) {
 		cpu_topology_fake();
-		goto linkit;
+		return;
 	}
 
 	/* Find siblings in same core and package. */


Home | Main Index | Thread Index | Old Index