Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Apr 2015 21:39:22 +0000 (GMT)
From:      Rui Paulo <rpaulo@me.com>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   Re: RFT: numa policy branch
Message-ID:  <f035d836-21e6-43e0-a105-6958caab475b@me.com>

next in thread | raw e-mail | index | archive | help
On Apr 26, 2015, at 01:30 PM, Adrian Chadd <adrian@freebsd.org> wrote:=0A=0A=
Hi!=0A=0AAnother update:=0A=0A* updated to recent -HEAD;=0A* numactl now c=
an set memory policy and cpuset domain information - so=0Ait's easy to say=
 "this runs in memory domain X and cpu domain Y" in=0Aone pass with it;=0A=
=C2=A0=0AThat works, but --mempolicy=3Dfirst-touch should ignore the --mem=
domain argument (or print an error) if it's present.=0A=0A* the locality m=
atrix is now available. Here's an example from scott's=0A2x haswell v3, wi=
th cluster-on-die enabled:=0A=0Avm.phys_locality:=0A0: 10 21 31 31=0A1: 21=
 10 31 31=0A2: 31 31 10 21=0A3: 31 31 21 10=0A=0AAnd on the westmere-ex bo=
x, with no SLIT table:=0A=0Avm.phys_locality:=0A0: -1 -1 -1 -1=0A1: -1 -1 =
-1 -1=0A2: -1 -1 -1 -1=0A3: -1 -1 -1 -1=0A=C2=A0=0AThis worked for us on I=
vyBridge a SLIT table.=0A=0A* I've tested in on westmere-ex (4x socket), s=
andybridge, ivybridge,=0Ahaswell v3 and haswell v3 cluster on die.=0A* I'v=
e discovered that our implementation of libgomp (from gcc-4.2) is=0Avery o=
ld and doesn't include some of the thread control environment=0Avariables,=
 grr.=0A* .. and that the gcc libgomp code doesn't at all have freebsd thr=
ead=0Aaffinity routines, so I added them to gcc-4.8.=0A=C2=A0=0AI used gcc=
 4.9=0A=0AI'd appreciate any reviews / testing people are able to provide.=
 I'm=0Aabout at the functionality point where I'd like to submit it for=0A=
formal review and try to land it in -HEAD.=0A=C2=A0=0AThere's a bug in the=
 default sysctl policy. =C2=A0You're calling strcat on an uninitialised st=
ring, so it produces garbage output. =C2=A0We also hit the a panic when ou=
r application starts allocation many GBs of memory. =C2=A0In this case, th=
e memory is split between two sockets and I think it's crashing like you d=
escribed on IRC.=0A=0A=0A=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f035d836-21e6-43e0-a105-6958caab475b>