Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Aug 2016 13:44:55 -0500
From:      Eric van Gyzen <vangyzen@FreeBSD.org>
To:        Ben RUBSON <ben.rubson@gmail.com>, FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Re: Unstable local network throughput
Message-ID:  <d3f18a5a-5d6f-8b79-9857-bb3a5e7c0f1b@FreeBSD.org>
In-Reply-To: <0B3D077E-120B-471C-B2B5-1ABCD85E572E@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> <246672E7-78D9-4421-9214-DE66C32D47FA@gmail.com> <0B3D077E-120B-471C-B2B5-1ABCD85E572E@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 08/11/16 12:54 PM, Ben RUBSON wrote:
> 
>> On 11 Aug 2016, at 19:51, Ben RUBSON <ben.rubson@gmail.com> wrote:
>>
>>
>>> On 11 Aug 2016, at 18:36, Adrian Chadd <adrian.chadd@gmail.com> wrote:
>>>
>>> Hi!
>>
>> Hi Adrian,
>>
>>> 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
>>
>> # numactl -l first-touch-rr -m 1 -c 1 /usr/local/bin/iperf -c 192.168.2.1 -l 128KB -P 16 -i 2 -t 6000  
>> Could not parse policy: '128KB'
>>
>> I did not manage to give arguments to command. Any idea ?
> 
> I answer to myself, this should do the trick :
> numactl -l first-touch-rr -m 1 -c 1 -- /usr/local/bin/iperf -c 192.168.2.1 -l 128KB -P 16 -i 2 -t 6000

This has annoyed me quite a bit, too.  Setting the POSIXLY_CORRECT
environment variable would also make it behave "correctly".

> However of course it still gives the error below :
> 
>> # numactl -l first-touch-rr -m 1 -c 1 /usr/local/bin/iperf                                           
>> numactl: numa_setaffinity: Invalid argument
>>
>> And sounds like -m is not allowed with first-touch-rr.
>> What should I use ?

Adrian probably meant fixed-domain-rr.

>> Thank you !
>>
>>> 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
>>
> 
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d3f18a5a-5d6f-8b79-9857-bb3a5e7c0f1b>