Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Aug 2016 00:35:18 +0200
From:      Ben RUBSON <ben.rubson@gmail.com>
To:        FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Re: Unstable local network throughput
Message-ID:  <AF923C63-2414-4DCE-9FD9-CAE02E3AC8CE@gmail.com>
In-Reply-To: <CAJ-VmongwvbY3QqKBV%2BFJCHOfSdr-=v9CmLH1z=Tqwz19AtUpg@mail.gmail.com>
References:  <3C0D892F-2BE8-4650-B9FC-93C8EE0443E1@gmail.com> <bed13ae3-0b8f-b1af-7418-7bf1b9fc74bc@selasky.org> <3B164B7B-CBFB-4518-B57D-A96EABB71647@gmail.com> <5D6DF8EA-D9AA-4617-8561-2D7E22A738C3@gmail.com> <BD0B68D1-CDCD-4E09-AF22-34318B6CEAA7@gmail.com> <CAJ-VmomW0Wth-uQU-OPTfRAsXW1kTDy-VyO2w-pgNosb-N1o=Q@mail.gmail.com> <B4D77A84-8F02-43E7-AD65-5B92423FC344@gmail.com> <CAJ-Vmo=Mfcvd41gtrt8GJfEtP-DQFfXt7pZ8eRLQzu73M=sX4A@mail.gmail.com> <7DD30CE7-32E6-4D26-91D4-C1D4F2319655@gmail.com> <CAJ-VmongwvbY3QqKBV%2BFJCHOfSdr-=v9CmLH1z=Tqwz19AtUpg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 11 Aug 2016, at 18:36, Adrian Chadd <adrian.chadd@gmail.com> wrote:
> 
> Hi!
> 
> mlx4_core0: <mlx4_core> mem
> 0xfbe00000-0xfbefffff,0xfb000000-0xfb7fffff irq 64 at device 0.0
> numa-domain 1 on pci16
> mlx4_core: Initializing mlx4_core: Mellanox ConnectX VPI driver v2.1.6
> (Aug 11 2016)
> 
> so the NIC is in numa-domain 1. Try pinning the worker threads to
> numa-domain 1 when you run the test:
> 
> numactl -l first-touch-rr -m 1 -c 1 ./test-program
> 
> You can also try pinning the NIC threads to numa-domain 1 versus 0 (so
> the second set of CPUs, not the first set.)
> 
> vmstat -ia | grep mlx (get the list of interrupt thread ids)
> then for each:
> 
> cpuset -d 1 -x <irq id>
> 
> Run pcm-memory.x each time so we can see the before and after effects
> on local versus remote memory access.
> 
> Thanks!

Adrian, here are the results :



Idle system :
http://pastebin.com/raw/K1iMVHVF



No pinning :
http://pastebin.com/raw/w5KuexQ3
CPU : http://pastebin.com/raw/8zgRaazN

numactl -l fixed-domain-rr -m 1 -c 1 :
http://pastebin.com/raw/VWweYF9H
CPU : http://pastebin.com/raw/QjaVH32X

numactl -l fixed-domain-rr -m 0 -c 0 :
http://pastebin.com/raw/71hfGJdw
CPU : http://pastebin.com/raw/hef058Na

numactl -l fixed-domain-rr -m 1 -c 1
+ cpuset -l <DOM1_CPU> -x <IRQ> :
http://pastebin.com/raw/nEQkgMK2
CPU : http://pastebin.com/raw/R652KAdJ

numactl -l fixed-domain-rr -m 0 -c 0
+ cpuset -l <DOM0_CPU> -x <IRQ> :
http://pastebin.com/raw/GdYJHyae
CPU : http://pastebin.com/raw/Ggfx9uF9



No pinning, default kernel (no NUMA option) :
http://pastebin.com/raw/iQ2u8d8k
CPU : http://pastebin.com/raw/Xr77KpcM

default kernel (no NUMA option)
+ cpuset -l <DOM0_CPU>
+ cpuset -l <DOM0_CPU> -x <IRQ> :
http://pastebin.com/raw/VBWg4SZs

default kernel (no NUMA option)
+ cpuset -l <DOM1_CPU>
+ cpuset -l <DOM1_CPU> -x <IRQ> :
http://pastebin.com/raw/SrJLZxuT



No pinning, default kernel (no NUMA option), NUMA BIOS disabled :
http://pastebin.com/raw/P5LrUASN



I would say :
- FreeBSD <= 10.3 : disable NUMA in BIOS
- FreeBSD >= 11   : disable NUMA in BIOS or enable NUMA in kernel.
But let's wait your analysis :)



Ben




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AF923C63-2414-4DCE-9FD9-CAE02E3AC8CE>