Enabling NUMA for Intel Core i7Intel Skylake + DisplayPort 1.2 MST/Daisy chain on LinuxWhy can't linux kernel...
Wherein the Shatapatha Brahmana it was mentioned about 8.64 lakh alphabets in Vedas?
how to differentiate when a child lwc component is called twice in parent component?
Plausibility of Ice Eaters in the Arctic
If "more guns less crime", how do gun advocates explain that the EU has less crime than the US?
Why do oscilloscopes use SMPSes instead of linear power supplies?
Was the 2019 Lion King film made through motion capture?
Why do funding agencies like the NSF not publish accepted grants?
How can I iterate this process?
Are there any financial disadvantages to living significantly "below your means"?
A tool to replace all words with antonyms
Y2K... in 2019?
Why does Intel's Haswell chip allow FP multiplication to be twice as fast as addition?
Word or idiom defining something barely functional
Three legged NOT gate? What is this symbol?
MinionPro is erroneous
What gave Harry Potter the idea of writing in Tom Riddle's diary?
Trying to write a shell script that keeps testing a server remotely, but it keeps falling in else statement when I logout
What game uses dice with sides powers of 2?
Is it incorrect to write "I rate this book a 3 out of 4 stars?"
What is the difference between TAS and GS?
AsyncDictionary - Can you break thread safety?
How should an administrative assistant reply to student addressing them as "Professor" or "Doctor"?
How many different ways are there to checkmate in the early game?
How to create all combinations from a nested list while preserving the structure using R?
Enabling NUMA for Intel Core i7
Intel Skylake + DisplayPort 1.2 MST/Daisy chain on LinuxWhy can't linux kernel boot on my new Intel i7-6500U CPU?What might cause a single “rcu_sched detected stall on CPU” warning in syslog?Find out where the allocated memory for a process residesExplanation for “page allocation failure” kernel messageHow to disable memory for a NUMA node on a Linux system
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
In Linux kernel, the documentation for CONFIG_NUMA says:
Enable NUMA (Non Uniform Memory Access) support.
he kernel will try to allocate memory used by a CPU on the
local memory controller of the CPU and add some more
NUMA awareness to the kernel.
For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
I have an Intel Core i7 processor, but AFAICT it only has one NUMA node:
$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7
node 0 size: 16063 MB
node 0 free: 15031 MB
node distances:
node 0
0: 10
So what is the purpose of having CONFIG_NUMA=y, when i7 has only one NUMA node ?
linux-kernel numa
add a comment |
In Linux kernel, the documentation for CONFIG_NUMA says:
Enable NUMA (Non Uniform Memory Access) support.
he kernel will try to allocate memory used by a CPU on the
local memory controller of the CPU and add some more
NUMA awareness to the kernel.
For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
I have an Intel Core i7 processor, but AFAICT it only has one NUMA node:
$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7
node 0 size: 16063 MB
node 0 free: 15031 MB
node distances:
node 0
0: 10
So what is the purpose of having CONFIG_NUMA=y, when i7 has only one NUMA node ?
linux-kernel numa
add a comment |
In Linux kernel, the documentation for CONFIG_NUMA says:
Enable NUMA (Non Uniform Memory Access) support.
he kernel will try to allocate memory used by a CPU on the
local memory controller of the CPU and add some more
NUMA awareness to the kernel.
For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
I have an Intel Core i7 processor, but AFAICT it only has one NUMA node:
$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7
node 0 size: 16063 MB
node 0 free: 15031 MB
node distances:
node 0
0: 10
So what is the purpose of having CONFIG_NUMA=y, when i7 has only one NUMA node ?
linux-kernel numa
In Linux kernel, the documentation for CONFIG_NUMA says:
Enable NUMA (Non Uniform Memory Access) support.
he kernel will try to allocate memory used by a CPU on the
local memory controller of the CPU and add some more
NUMA awareness to the kernel.
For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
I have an Intel Core i7 processor, but AFAICT it only has one NUMA node:
$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7
node 0 size: 16063 MB
node 0 free: 15031 MB
node distances:
node 0
0: 10
So what is the purpose of having CONFIG_NUMA=y, when i7 has only one NUMA node ?
linux-kernel numa
linux-kernel numa
edited 1 hour ago
Yuri
1678 bronze badges
1678 bronze badges
asked Sep 25 '13 at 12:41
user1968963user1968963
1,08610 gold badges26 silver badges46 bronze badges
1,08610 gold badges26 silver badges46 bronze badges
add a comment |
add a comment |
5 Answers
5
active
oldest
votes
I think this picture explains enough:

socket or numa node is a collection of cores with a local access to memory. Each socket contains 1 or more cores. Note that this does not necessarily refer to a physical socket, but rather to the memory architecture of the machine, which will depend on your chip vendor.
processor core (cpu core, logical processor) refers to a single processing unit capable of performing computations.
So the above indicates that you would need multiple processors in the machine to leverage NUMA architecture.
You can have compiled NUMA support in the kernel and run it on single processor machine. It's similar like with SMP support. It's compiled in as well but when the kernel detects that there is single processor in the system it will not use it (disable it). The same holds for NUMA. You can check dmesg kernel ring buffer or /var/log/dmesg file for
related messages:
NUMA - single processor (or NUMA disabled) X multi processor:
No NUMA configuration found
NUMA: Allocated memnodemap from b000 - b440
SMP - single processor X multi processor:
SMP: Allowing 1 CPUs, 0 hotplug CPUs
SMP: Allowing 32 CPUs, 0 hotplug CPUs
References
- NUMA (Non-Uniform Memory Access): An Overview
2
@slm - what you say makes sense, but why does the kernel documentation (quoted in my question) say I should enableCONFIG_NUMAforcore i7?
– user1968963
May 31 '14 at 21:47
1
Since Haswell it is no longer true that NUMA is not of any use for a 'single processor' (meaning single socket) machine. Certain Haswell products feature what Intel terms the 'Cluster on Die' mode. The single socket processor has multiple memory controllers integrated and therefore multiple paths to memory, which with this feature may be treated as distinct NUMA regions, all of which encompass the one socket.
– Paul Caheny
Nov 20 '15 at 12:14
add a comment |
For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
First, note that Intel Core i7 is just a marketing designation, and the phrase Intel Core i7 (or later) is very vague. So what could it mean?
The Linux kernel Kconfig help text edits mentioning an Intel Core 7i, then corrected to Intel Core i7, were done in November of 2008. The commit log reads:
x86: update CONFIG_NUMA description
Impact: clarify/update CONFIG_NUMA text
CONFIG_NUMA description talk about a bit old thing.
So, following changes are better.
o CONFIG_NUMA is no longer EXPERIMENTAL
o Opteron is not the only processor of NUMA topology on x86_64 no longer,
but also Intel Core7i has it.
It can reasonably only refer to Intel Core i7 CPUs released or announced per spec by that time. That would be the Bloomfield processors, based on the Nehalem microarchitecture, which moved the memory controller from the Northbridge onto the CPU (which AMD had done in 2003 with the Opteron/AMD64) and introduced QuickPath Interconnect/QPI (as pendant to AMD's HyperTransport) for CPU/CPU and CPU/IOH (IO hub, ex-Northbridge) interconnection.
The Bloomdale i7 CPUs were the first entries in the new Core i{3,5,7} naming scheme. So when that Linux doc text was written, i7 didn't specifically refer to the Core i7 as opposed to i5 (first in 09/2009) or i3 (first in 01/2010), but in all likelihood to the new Nehalem microarchitecture with its integrated memory controller and QPI.
There's an Intel press release from 11/2008 on the i7 (Intel Launches Fastest Processor on the Planet) that states that the Core i7 processor more than doubles the memory bandwidth of previous Intel "Extreme" platforms, but doesn't mention NUMA at all.
The reason is, I think, that NUMA doesn't matter for desktop PCs, not even for "extreme" ones.
NUMA matters for expensive servers that have several CPU sockets (not just several cores on one socket) with dedicated physical memory access lanes (not just one memory controller), so that each CPU has its dedicated local memory, which is "closer" to it than the memory of the other CPUs. (Think 8 sockets, 64 cores, 256 GB RAM.) NUMA means that a CPU can also access remote memory (the local memory of another CPU) in addition to its own local memory, albeit at a higher cost. NUMA is the synthesis of a shared memory architecture like SMP, where all memory is equally available to all cores, and a distributed memory architecture like MPP (Massively Parallel Processing), that gives each node a dedicated block of memory. It is MPP, but it looks like SMP to the application.
Desktop motherboards don't have dual sockets and Intel desktop CPUs including extreme i7 editions lack the additional QPI link for dual socket configuration.
Check the Wikipedia QPI article to see how QPI is relevant to NUMA:
In its simplest form on a single-processor motherboard, a single QPI
is used to connect the processor to the IO Hub (e.g., to connect an
Intel Core i7 to an X58). In more complex instances of the
architecture, separate QPI link pairs connect one or more processors
and one or more IO hubs or routing hubs in a network on the
motherboard, allowing all of the components to access other components
via the network. As with HyperTransport, the QuickPath Architecture
assumes that the processors will have integrated memory controllers,
and enables a non-uniform memory access (NUMA) architecture.
[…]
Although some high-end Core i7 processors expose QPI, other
"mainstream" Nehalem desktop and mobile processors intended for
single-socket boards (e.g. LGA 1156 Core i3, Core i5, and other Core
i7 processors from the Lynnfield/Clarksfield and successor families)
do not expose QPI externally, because these processors are not
intended to participate in multi-socket systems. However, QPI is used
internally on these chips […]
The way an Intel Nehalem CPU on a multi-socket server board makes non-local memory access is via QPI. Also in the article on NUMA:
Intel announced NUMA compatibility for its x86 and Itanium servers in
late 2007 with its Nehalem and Tukwila CPUs. Both CPU families share a
common chipset; the interconnection is called Intel Quick Path
Interconnect (QPI). AMD implemented NUMA with its Opteron processor
(2003), using HyperTransport.
Check this report back from 11/2008 to see that Intel disabled one of the two QPI links on the i7, thus disabling dual-socket configuration, where NUMA applies:
This first, high-end desktop implementation of Nehalem is code-named
Bloomfield, and it's essentially the same silicon that should go into
two-socket servers eventually. As a result, Bloomfield chips come with
two QPI links onboard, as the die shot above indicates. However, the
second QPI link is unused. In 2P servers based on this architecture,
that second interconnect will link the two sockets, and over it, the
CPUs will share cache coherency messages (using a new protocol) and
data (since the memory subsystem will be NUMA)—again, very similar to
the Opteron.
So I've been straying away from your question relating my Google research results … You're asking why the Linux docs have started to recommend turning it on in late 2008? Not sure this question has a provably correct answer … We would have to ask the doc writer. Turning NUMA on doesn't benefit desktop CPU users, but doesn't significantly hurt them either, while helping multi-socket users, so why not? This could have been the rationale. Found that reflected in a discussion about disabling NUMA on the Arch Linux tracker (FS#31187 - [linux] - disable NUMA from config files).
The doc author might also have thought of the NUMA potential of the Nehalem architecture of which, when the doc was written, the 11/2008 Core i7 processors (920, 940, 965) were the only representatives; the first Nehalem chips for which NUMA would have really made sense are probably the Q1/2009 Xeon processors with dual QPI link such as the Xeon E5520.
add a comment |
I think if you use the --show switch it might make more sense:
$ numactl --show
policy: default
preferred node: current
physcpubind: 0 1 2 3
cpubind: 0
nodebind: 0
membind: 0
So you can control the use of physcpubind's like this:
$ numactl --physcpubind=+0-2 myapp
This would limit the application myapp to the first 2 CPU cores. My system is an i5 with 4 cores.
References
- numctl man page
- numactl --physcpubind
- Using NUMA on RHEL 6
- Little things I didn’t know: difference between _enable_NUMA_support and numactl
add a comment |
I've been researching the same thing for my desktop PC while building my kernel on my own. I have decided to disable NUMA after much research. My CPU is a Core i7 3820 which has 8 processors with HT. This page helped my come to my decision.
disable NUMA from config files
In summary, NUMA is only worthwhile if you have more than 1 CPU socket (regardless of cores). There is a very small hit to processing power on 1 CPU Socket machines even with multiple cores, but it is hardly noticeable so most distributions leave it enabled as it will provide a huge benefit to servers and machines with more than 1 socket.
add a comment |
In a PC with at most one CPU, NUMA is totally useless. Feel free disable it in your own kernel.
You can always control CPU bonding by taskset(1).
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f92302%2fenabling-numa-for-intel-core-i7%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
5 Answers
5
active
oldest
votes
5 Answers
5
active
oldest
votes
active
oldest
votes
active
oldest
votes
I think this picture explains enough:

socket or numa node is a collection of cores with a local access to memory. Each socket contains 1 or more cores. Note that this does not necessarily refer to a physical socket, but rather to the memory architecture of the machine, which will depend on your chip vendor.
processor core (cpu core, logical processor) refers to a single processing unit capable of performing computations.
So the above indicates that you would need multiple processors in the machine to leverage NUMA architecture.
You can have compiled NUMA support in the kernel and run it on single processor machine. It's similar like with SMP support. It's compiled in as well but when the kernel detects that there is single processor in the system it will not use it (disable it). The same holds for NUMA. You can check dmesg kernel ring buffer or /var/log/dmesg file for
related messages:
NUMA - single processor (or NUMA disabled) X multi processor:
No NUMA configuration found
NUMA: Allocated memnodemap from b000 - b440
SMP - single processor X multi processor:
SMP: Allowing 1 CPUs, 0 hotplug CPUs
SMP: Allowing 32 CPUs, 0 hotplug CPUs
References
- NUMA (Non-Uniform Memory Access): An Overview
2
@slm - what you say makes sense, but why does the kernel documentation (quoted in my question) say I should enableCONFIG_NUMAforcore i7?
– user1968963
May 31 '14 at 21:47
1
Since Haswell it is no longer true that NUMA is not of any use for a 'single processor' (meaning single socket) machine. Certain Haswell products feature what Intel terms the 'Cluster on Die' mode. The single socket processor has multiple memory controllers integrated and therefore multiple paths to memory, which with this feature may be treated as distinct NUMA regions, all of which encompass the one socket.
– Paul Caheny
Nov 20 '15 at 12:14
add a comment |
I think this picture explains enough:

socket or numa node is a collection of cores with a local access to memory. Each socket contains 1 or more cores. Note that this does not necessarily refer to a physical socket, but rather to the memory architecture of the machine, which will depend on your chip vendor.
processor core (cpu core, logical processor) refers to a single processing unit capable of performing computations.
So the above indicates that you would need multiple processors in the machine to leverage NUMA architecture.
You can have compiled NUMA support in the kernel and run it on single processor machine. It's similar like with SMP support. It's compiled in as well but when the kernel detects that there is single processor in the system it will not use it (disable it). The same holds for NUMA. You can check dmesg kernel ring buffer or /var/log/dmesg file for
related messages:
NUMA - single processor (or NUMA disabled) X multi processor:
No NUMA configuration found
NUMA: Allocated memnodemap from b000 - b440
SMP - single processor X multi processor:
SMP: Allowing 1 CPUs, 0 hotplug CPUs
SMP: Allowing 32 CPUs, 0 hotplug CPUs
References
- NUMA (Non-Uniform Memory Access): An Overview
2
@slm - what you say makes sense, but why does the kernel documentation (quoted in my question) say I should enableCONFIG_NUMAforcore i7?
– user1968963
May 31 '14 at 21:47
1
Since Haswell it is no longer true that NUMA is not of any use for a 'single processor' (meaning single socket) machine. Certain Haswell products feature what Intel terms the 'Cluster on Die' mode. The single socket processor has multiple memory controllers integrated and therefore multiple paths to memory, which with this feature may be treated as distinct NUMA regions, all of which encompass the one socket.
– Paul Caheny
Nov 20 '15 at 12:14
add a comment |
I think this picture explains enough:

socket or numa node is a collection of cores with a local access to memory. Each socket contains 1 or more cores. Note that this does not necessarily refer to a physical socket, but rather to the memory architecture of the machine, which will depend on your chip vendor.
processor core (cpu core, logical processor) refers to a single processing unit capable of performing computations.
So the above indicates that you would need multiple processors in the machine to leverage NUMA architecture.
You can have compiled NUMA support in the kernel and run it on single processor machine. It's similar like with SMP support. It's compiled in as well but when the kernel detects that there is single processor in the system it will not use it (disable it). The same holds for NUMA. You can check dmesg kernel ring buffer or /var/log/dmesg file for
related messages:
NUMA - single processor (or NUMA disabled) X multi processor:
No NUMA configuration found
NUMA: Allocated memnodemap from b000 - b440
SMP - single processor X multi processor:
SMP: Allowing 1 CPUs, 0 hotplug CPUs
SMP: Allowing 32 CPUs, 0 hotplug CPUs
References
- NUMA (Non-Uniform Memory Access): An Overview
I think this picture explains enough:

socket or numa node is a collection of cores with a local access to memory. Each socket contains 1 or more cores. Note that this does not necessarily refer to a physical socket, but rather to the memory architecture of the machine, which will depend on your chip vendor.
processor core (cpu core, logical processor) refers to a single processing unit capable of performing computations.
So the above indicates that you would need multiple processors in the machine to leverage NUMA architecture.
You can have compiled NUMA support in the kernel and run it on single processor machine. It's similar like with SMP support. It's compiled in as well but when the kernel detects that there is single processor in the system it will not use it (disable it). The same holds for NUMA. You can check dmesg kernel ring buffer or /var/log/dmesg file for
related messages:
NUMA - single processor (or NUMA disabled) X multi processor:
No NUMA configuration found
NUMA: Allocated memnodemap from b000 - b440
SMP - single processor X multi processor:
SMP: Allowing 1 CPUs, 0 hotplug CPUs
SMP: Allowing 32 CPUs, 0 hotplug CPUs
References
- NUMA (Non-Uniform Memory Access): An Overview
edited Jun 4 '14 at 19:08
slm♦
266k74 gold badges575 silver badges721 bronze badges
266k74 gold badges575 silver badges721 bronze badges
answered Sep 25 '13 at 13:03
dsmsk80dsmsk80
2,2939 silver badges14 bronze badges
2,2939 silver badges14 bronze badges
2
@slm - what you say makes sense, but why does the kernel documentation (quoted in my question) say I should enableCONFIG_NUMAforcore i7?
– user1968963
May 31 '14 at 21:47
1
Since Haswell it is no longer true that NUMA is not of any use for a 'single processor' (meaning single socket) machine. Certain Haswell products feature what Intel terms the 'Cluster on Die' mode. The single socket processor has multiple memory controllers integrated and therefore multiple paths to memory, which with this feature may be treated as distinct NUMA regions, all of which encompass the one socket.
– Paul Caheny
Nov 20 '15 at 12:14
add a comment |
2
@slm - what you say makes sense, but why does the kernel documentation (quoted in my question) say I should enableCONFIG_NUMAforcore i7?
– user1968963
May 31 '14 at 21:47
1
Since Haswell it is no longer true that NUMA is not of any use for a 'single processor' (meaning single socket) machine. Certain Haswell products feature what Intel terms the 'Cluster on Die' mode. The single socket processor has multiple memory controllers integrated and therefore multiple paths to memory, which with this feature may be treated as distinct NUMA regions, all of which encompass the one socket.
– Paul Caheny
Nov 20 '15 at 12:14
2
2
@slm - what you say makes sense, but why does the kernel documentation (quoted in my question) say I should enable
CONFIG_NUMA for core i7 ?– user1968963
May 31 '14 at 21:47
@slm - what you say makes sense, but why does the kernel documentation (quoted in my question) say I should enable
CONFIG_NUMA for core i7 ?– user1968963
May 31 '14 at 21:47
1
1
Since Haswell it is no longer true that NUMA is not of any use for a 'single processor' (meaning single socket) machine. Certain Haswell products feature what Intel terms the 'Cluster on Die' mode. The single socket processor has multiple memory controllers integrated and therefore multiple paths to memory, which with this feature may be treated as distinct NUMA regions, all of which encompass the one socket.
– Paul Caheny
Nov 20 '15 at 12:14
Since Haswell it is no longer true that NUMA is not of any use for a 'single processor' (meaning single socket) machine. Certain Haswell products feature what Intel terms the 'Cluster on Die' mode. The single socket processor has multiple memory controllers integrated and therefore multiple paths to memory, which with this feature may be treated as distinct NUMA regions, all of which encompass the one socket.
– Paul Caheny
Nov 20 '15 at 12:14
add a comment |
For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
First, note that Intel Core i7 is just a marketing designation, and the phrase Intel Core i7 (or later) is very vague. So what could it mean?
The Linux kernel Kconfig help text edits mentioning an Intel Core 7i, then corrected to Intel Core i7, were done in November of 2008. The commit log reads:
x86: update CONFIG_NUMA description
Impact: clarify/update CONFIG_NUMA text
CONFIG_NUMA description talk about a bit old thing.
So, following changes are better.
o CONFIG_NUMA is no longer EXPERIMENTAL
o Opteron is not the only processor of NUMA topology on x86_64 no longer,
but also Intel Core7i has it.
It can reasonably only refer to Intel Core i7 CPUs released or announced per spec by that time. That would be the Bloomfield processors, based on the Nehalem microarchitecture, which moved the memory controller from the Northbridge onto the CPU (which AMD had done in 2003 with the Opteron/AMD64) and introduced QuickPath Interconnect/QPI (as pendant to AMD's HyperTransport) for CPU/CPU and CPU/IOH (IO hub, ex-Northbridge) interconnection.
The Bloomdale i7 CPUs were the first entries in the new Core i{3,5,7} naming scheme. So when that Linux doc text was written, i7 didn't specifically refer to the Core i7 as opposed to i5 (first in 09/2009) or i3 (first in 01/2010), but in all likelihood to the new Nehalem microarchitecture with its integrated memory controller and QPI.
There's an Intel press release from 11/2008 on the i7 (Intel Launches Fastest Processor on the Planet) that states that the Core i7 processor more than doubles the memory bandwidth of previous Intel "Extreme" platforms, but doesn't mention NUMA at all.
The reason is, I think, that NUMA doesn't matter for desktop PCs, not even for "extreme" ones.
NUMA matters for expensive servers that have several CPU sockets (not just several cores on one socket) with dedicated physical memory access lanes (not just one memory controller), so that each CPU has its dedicated local memory, which is "closer" to it than the memory of the other CPUs. (Think 8 sockets, 64 cores, 256 GB RAM.) NUMA means that a CPU can also access remote memory (the local memory of another CPU) in addition to its own local memory, albeit at a higher cost. NUMA is the synthesis of a shared memory architecture like SMP, where all memory is equally available to all cores, and a distributed memory architecture like MPP (Massively Parallel Processing), that gives each node a dedicated block of memory. It is MPP, but it looks like SMP to the application.
Desktop motherboards don't have dual sockets and Intel desktop CPUs including extreme i7 editions lack the additional QPI link for dual socket configuration.
Check the Wikipedia QPI article to see how QPI is relevant to NUMA:
In its simplest form on a single-processor motherboard, a single QPI
is used to connect the processor to the IO Hub (e.g., to connect an
Intel Core i7 to an X58). In more complex instances of the
architecture, separate QPI link pairs connect one or more processors
and one or more IO hubs or routing hubs in a network on the
motherboard, allowing all of the components to access other components
via the network. As with HyperTransport, the QuickPath Architecture
assumes that the processors will have integrated memory controllers,
and enables a non-uniform memory access (NUMA) architecture.
[…]
Although some high-end Core i7 processors expose QPI, other
"mainstream" Nehalem desktop and mobile processors intended for
single-socket boards (e.g. LGA 1156 Core i3, Core i5, and other Core
i7 processors from the Lynnfield/Clarksfield and successor families)
do not expose QPI externally, because these processors are not
intended to participate in multi-socket systems. However, QPI is used
internally on these chips […]
The way an Intel Nehalem CPU on a multi-socket server board makes non-local memory access is via QPI. Also in the article on NUMA:
Intel announced NUMA compatibility for its x86 and Itanium servers in
late 2007 with its Nehalem and Tukwila CPUs. Both CPU families share a
common chipset; the interconnection is called Intel Quick Path
Interconnect (QPI). AMD implemented NUMA with its Opteron processor
(2003), using HyperTransport.
Check this report back from 11/2008 to see that Intel disabled one of the two QPI links on the i7, thus disabling dual-socket configuration, where NUMA applies:
This first, high-end desktop implementation of Nehalem is code-named
Bloomfield, and it's essentially the same silicon that should go into
two-socket servers eventually. As a result, Bloomfield chips come with
two QPI links onboard, as the die shot above indicates. However, the
second QPI link is unused. In 2P servers based on this architecture,
that second interconnect will link the two sockets, and over it, the
CPUs will share cache coherency messages (using a new protocol) and
data (since the memory subsystem will be NUMA)—again, very similar to
the Opteron.
So I've been straying away from your question relating my Google research results … You're asking why the Linux docs have started to recommend turning it on in late 2008? Not sure this question has a provably correct answer … We would have to ask the doc writer. Turning NUMA on doesn't benefit desktop CPU users, but doesn't significantly hurt them either, while helping multi-socket users, so why not? This could have been the rationale. Found that reflected in a discussion about disabling NUMA on the Arch Linux tracker (FS#31187 - [linux] - disable NUMA from config files).
The doc author might also have thought of the NUMA potential of the Nehalem architecture of which, when the doc was written, the 11/2008 Core i7 processors (920, 940, 965) were the only representatives; the first Nehalem chips for which NUMA would have really made sense are probably the Q1/2009 Xeon processors with dual QPI link such as the Xeon E5520.
add a comment |
For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
First, note that Intel Core i7 is just a marketing designation, and the phrase Intel Core i7 (or later) is very vague. So what could it mean?
The Linux kernel Kconfig help text edits mentioning an Intel Core 7i, then corrected to Intel Core i7, were done in November of 2008. The commit log reads:
x86: update CONFIG_NUMA description
Impact: clarify/update CONFIG_NUMA text
CONFIG_NUMA description talk about a bit old thing.
So, following changes are better.
o CONFIG_NUMA is no longer EXPERIMENTAL
o Opteron is not the only processor of NUMA topology on x86_64 no longer,
but also Intel Core7i has it.
It can reasonably only refer to Intel Core i7 CPUs released or announced per spec by that time. That would be the Bloomfield processors, based on the Nehalem microarchitecture, which moved the memory controller from the Northbridge onto the CPU (which AMD had done in 2003 with the Opteron/AMD64) and introduced QuickPath Interconnect/QPI (as pendant to AMD's HyperTransport) for CPU/CPU and CPU/IOH (IO hub, ex-Northbridge) interconnection.
The Bloomdale i7 CPUs were the first entries in the new Core i{3,5,7} naming scheme. So when that Linux doc text was written, i7 didn't specifically refer to the Core i7 as opposed to i5 (first in 09/2009) or i3 (first in 01/2010), but in all likelihood to the new Nehalem microarchitecture with its integrated memory controller and QPI.
There's an Intel press release from 11/2008 on the i7 (Intel Launches Fastest Processor on the Planet) that states that the Core i7 processor more than doubles the memory bandwidth of previous Intel "Extreme" platforms, but doesn't mention NUMA at all.
The reason is, I think, that NUMA doesn't matter for desktop PCs, not even for "extreme" ones.
NUMA matters for expensive servers that have several CPU sockets (not just several cores on one socket) with dedicated physical memory access lanes (not just one memory controller), so that each CPU has its dedicated local memory, which is "closer" to it than the memory of the other CPUs. (Think 8 sockets, 64 cores, 256 GB RAM.) NUMA means that a CPU can also access remote memory (the local memory of another CPU) in addition to its own local memory, albeit at a higher cost. NUMA is the synthesis of a shared memory architecture like SMP, where all memory is equally available to all cores, and a distributed memory architecture like MPP (Massively Parallel Processing), that gives each node a dedicated block of memory. It is MPP, but it looks like SMP to the application.
Desktop motherboards don't have dual sockets and Intel desktop CPUs including extreme i7 editions lack the additional QPI link for dual socket configuration.
Check the Wikipedia QPI article to see how QPI is relevant to NUMA:
In its simplest form on a single-processor motherboard, a single QPI
is used to connect the processor to the IO Hub (e.g., to connect an
Intel Core i7 to an X58). In more complex instances of the
architecture, separate QPI link pairs connect one or more processors
and one or more IO hubs or routing hubs in a network on the
motherboard, allowing all of the components to access other components
via the network. As with HyperTransport, the QuickPath Architecture
assumes that the processors will have integrated memory controllers,
and enables a non-uniform memory access (NUMA) architecture.
[…]
Although some high-end Core i7 processors expose QPI, other
"mainstream" Nehalem desktop and mobile processors intended for
single-socket boards (e.g. LGA 1156 Core i3, Core i5, and other Core
i7 processors from the Lynnfield/Clarksfield and successor families)
do not expose QPI externally, because these processors are not
intended to participate in multi-socket systems. However, QPI is used
internally on these chips […]
The way an Intel Nehalem CPU on a multi-socket server board makes non-local memory access is via QPI. Also in the article on NUMA:
Intel announced NUMA compatibility for its x86 and Itanium servers in
late 2007 with its Nehalem and Tukwila CPUs. Both CPU families share a
common chipset; the interconnection is called Intel Quick Path
Interconnect (QPI). AMD implemented NUMA with its Opteron processor
(2003), using HyperTransport.
Check this report back from 11/2008 to see that Intel disabled one of the two QPI links on the i7, thus disabling dual-socket configuration, where NUMA applies:
This first, high-end desktop implementation of Nehalem is code-named
Bloomfield, and it's essentially the same silicon that should go into
two-socket servers eventually. As a result, Bloomfield chips come with
two QPI links onboard, as the die shot above indicates. However, the
second QPI link is unused. In 2P servers based on this architecture,
that second interconnect will link the two sockets, and over it, the
CPUs will share cache coherency messages (using a new protocol) and
data (since the memory subsystem will be NUMA)—again, very similar to
the Opteron.
So I've been straying away from your question relating my Google research results … You're asking why the Linux docs have started to recommend turning it on in late 2008? Not sure this question has a provably correct answer … We would have to ask the doc writer. Turning NUMA on doesn't benefit desktop CPU users, but doesn't significantly hurt them either, while helping multi-socket users, so why not? This could have been the rationale. Found that reflected in a discussion about disabling NUMA on the Arch Linux tracker (FS#31187 - [linux] - disable NUMA from config files).
The doc author might also have thought of the NUMA potential of the Nehalem architecture of which, when the doc was written, the 11/2008 Core i7 processors (920, 940, 965) were the only representatives; the first Nehalem chips for which NUMA would have really made sense are probably the Q1/2009 Xeon processors with dual QPI link such as the Xeon E5520.
add a comment |
For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
First, note that Intel Core i7 is just a marketing designation, and the phrase Intel Core i7 (or later) is very vague. So what could it mean?
The Linux kernel Kconfig help text edits mentioning an Intel Core 7i, then corrected to Intel Core i7, were done in November of 2008. The commit log reads:
x86: update CONFIG_NUMA description
Impact: clarify/update CONFIG_NUMA text
CONFIG_NUMA description talk about a bit old thing.
So, following changes are better.
o CONFIG_NUMA is no longer EXPERIMENTAL
o Opteron is not the only processor of NUMA topology on x86_64 no longer,
but also Intel Core7i has it.
It can reasonably only refer to Intel Core i7 CPUs released or announced per spec by that time. That would be the Bloomfield processors, based on the Nehalem microarchitecture, which moved the memory controller from the Northbridge onto the CPU (which AMD had done in 2003 with the Opteron/AMD64) and introduced QuickPath Interconnect/QPI (as pendant to AMD's HyperTransport) for CPU/CPU and CPU/IOH (IO hub, ex-Northbridge) interconnection.
The Bloomdale i7 CPUs were the first entries in the new Core i{3,5,7} naming scheme. So when that Linux doc text was written, i7 didn't specifically refer to the Core i7 as opposed to i5 (first in 09/2009) or i3 (first in 01/2010), but in all likelihood to the new Nehalem microarchitecture with its integrated memory controller and QPI.
There's an Intel press release from 11/2008 on the i7 (Intel Launches Fastest Processor on the Planet) that states that the Core i7 processor more than doubles the memory bandwidth of previous Intel "Extreme" platforms, but doesn't mention NUMA at all.
The reason is, I think, that NUMA doesn't matter for desktop PCs, not even for "extreme" ones.
NUMA matters for expensive servers that have several CPU sockets (not just several cores on one socket) with dedicated physical memory access lanes (not just one memory controller), so that each CPU has its dedicated local memory, which is "closer" to it than the memory of the other CPUs. (Think 8 sockets, 64 cores, 256 GB RAM.) NUMA means that a CPU can also access remote memory (the local memory of another CPU) in addition to its own local memory, albeit at a higher cost. NUMA is the synthesis of a shared memory architecture like SMP, where all memory is equally available to all cores, and a distributed memory architecture like MPP (Massively Parallel Processing), that gives each node a dedicated block of memory. It is MPP, but it looks like SMP to the application.
Desktop motherboards don't have dual sockets and Intel desktop CPUs including extreme i7 editions lack the additional QPI link for dual socket configuration.
Check the Wikipedia QPI article to see how QPI is relevant to NUMA:
In its simplest form on a single-processor motherboard, a single QPI
is used to connect the processor to the IO Hub (e.g., to connect an
Intel Core i7 to an X58). In more complex instances of the
architecture, separate QPI link pairs connect one or more processors
and one or more IO hubs or routing hubs in a network on the
motherboard, allowing all of the components to access other components
via the network. As with HyperTransport, the QuickPath Architecture
assumes that the processors will have integrated memory controllers,
and enables a non-uniform memory access (NUMA) architecture.
[…]
Although some high-end Core i7 processors expose QPI, other
"mainstream" Nehalem desktop and mobile processors intended for
single-socket boards (e.g. LGA 1156 Core i3, Core i5, and other Core
i7 processors from the Lynnfield/Clarksfield and successor families)
do not expose QPI externally, because these processors are not
intended to participate in multi-socket systems. However, QPI is used
internally on these chips […]
The way an Intel Nehalem CPU on a multi-socket server board makes non-local memory access is via QPI. Also in the article on NUMA:
Intel announced NUMA compatibility for its x86 and Itanium servers in
late 2007 with its Nehalem and Tukwila CPUs. Both CPU families share a
common chipset; the interconnection is called Intel Quick Path
Interconnect (QPI). AMD implemented NUMA with its Opteron processor
(2003), using HyperTransport.
Check this report back from 11/2008 to see that Intel disabled one of the two QPI links on the i7, thus disabling dual-socket configuration, where NUMA applies:
This first, high-end desktop implementation of Nehalem is code-named
Bloomfield, and it's essentially the same silicon that should go into
two-socket servers eventually. As a result, Bloomfield chips come with
two QPI links onboard, as the die shot above indicates. However, the
second QPI link is unused. In 2P servers based on this architecture,
that second interconnect will link the two sockets, and over it, the
CPUs will share cache coherency messages (using a new protocol) and
data (since the memory subsystem will be NUMA)—again, very similar to
the Opteron.
So I've been straying away from your question relating my Google research results … You're asking why the Linux docs have started to recommend turning it on in late 2008? Not sure this question has a provably correct answer … We would have to ask the doc writer. Turning NUMA on doesn't benefit desktop CPU users, but doesn't significantly hurt them either, while helping multi-socket users, so why not? This could have been the rationale. Found that reflected in a discussion about disabling NUMA on the Arch Linux tracker (FS#31187 - [linux] - disable NUMA from config files).
The doc author might also have thought of the NUMA potential of the Nehalem architecture of which, when the doc was written, the 11/2008 Core i7 processors (920, 940, 965) were the only representatives; the first Nehalem chips for which NUMA would have really made sense are probably the Q1/2009 Xeon processors with dual QPI link such as the Xeon E5520.
For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
First, note that Intel Core i7 is just a marketing designation, and the phrase Intel Core i7 (or later) is very vague. So what could it mean?
The Linux kernel Kconfig help text edits mentioning an Intel Core 7i, then corrected to Intel Core i7, were done in November of 2008. The commit log reads:
x86: update CONFIG_NUMA description
Impact: clarify/update CONFIG_NUMA text
CONFIG_NUMA description talk about a bit old thing.
So, following changes are better.
o CONFIG_NUMA is no longer EXPERIMENTAL
o Opteron is not the only processor of NUMA topology on x86_64 no longer,
but also Intel Core7i has it.
It can reasonably only refer to Intel Core i7 CPUs released or announced per spec by that time. That would be the Bloomfield processors, based on the Nehalem microarchitecture, which moved the memory controller from the Northbridge onto the CPU (which AMD had done in 2003 with the Opteron/AMD64) and introduced QuickPath Interconnect/QPI (as pendant to AMD's HyperTransport) for CPU/CPU and CPU/IOH (IO hub, ex-Northbridge) interconnection.
The Bloomdale i7 CPUs were the first entries in the new Core i{3,5,7} naming scheme. So when that Linux doc text was written, i7 didn't specifically refer to the Core i7 as opposed to i5 (first in 09/2009) or i3 (first in 01/2010), but in all likelihood to the new Nehalem microarchitecture with its integrated memory controller and QPI.
There's an Intel press release from 11/2008 on the i7 (Intel Launches Fastest Processor on the Planet) that states that the Core i7 processor more than doubles the memory bandwidth of previous Intel "Extreme" platforms, but doesn't mention NUMA at all.
The reason is, I think, that NUMA doesn't matter for desktop PCs, not even for "extreme" ones.
NUMA matters for expensive servers that have several CPU sockets (not just several cores on one socket) with dedicated physical memory access lanes (not just one memory controller), so that each CPU has its dedicated local memory, which is "closer" to it than the memory of the other CPUs. (Think 8 sockets, 64 cores, 256 GB RAM.) NUMA means that a CPU can also access remote memory (the local memory of another CPU) in addition to its own local memory, albeit at a higher cost. NUMA is the synthesis of a shared memory architecture like SMP, where all memory is equally available to all cores, and a distributed memory architecture like MPP (Massively Parallel Processing), that gives each node a dedicated block of memory. It is MPP, but it looks like SMP to the application.
Desktop motherboards don't have dual sockets and Intel desktop CPUs including extreme i7 editions lack the additional QPI link for dual socket configuration.
Check the Wikipedia QPI article to see how QPI is relevant to NUMA:
In its simplest form on a single-processor motherboard, a single QPI
is used to connect the processor to the IO Hub (e.g., to connect an
Intel Core i7 to an X58). In more complex instances of the
architecture, separate QPI link pairs connect one or more processors
and one or more IO hubs or routing hubs in a network on the
motherboard, allowing all of the components to access other components
via the network. As with HyperTransport, the QuickPath Architecture
assumes that the processors will have integrated memory controllers,
and enables a non-uniform memory access (NUMA) architecture.
[…]
Although some high-end Core i7 processors expose QPI, other
"mainstream" Nehalem desktop and mobile processors intended for
single-socket boards (e.g. LGA 1156 Core i3, Core i5, and other Core
i7 processors from the Lynnfield/Clarksfield and successor families)
do not expose QPI externally, because these processors are not
intended to participate in multi-socket systems. However, QPI is used
internally on these chips […]
The way an Intel Nehalem CPU on a multi-socket server board makes non-local memory access is via QPI. Also in the article on NUMA:
Intel announced NUMA compatibility for its x86 and Itanium servers in
late 2007 with its Nehalem and Tukwila CPUs. Both CPU families share a
common chipset; the interconnection is called Intel Quick Path
Interconnect (QPI). AMD implemented NUMA with its Opteron processor
(2003), using HyperTransport.
Check this report back from 11/2008 to see that Intel disabled one of the two QPI links on the i7, thus disabling dual-socket configuration, where NUMA applies:
This first, high-end desktop implementation of Nehalem is code-named
Bloomfield, and it's essentially the same silicon that should go into
two-socket servers eventually. As a result, Bloomfield chips come with
two QPI links onboard, as the die shot above indicates. However, the
second QPI link is unused. In 2P servers based on this architecture,
that second interconnect will link the two sockets, and over it, the
CPUs will share cache coherency messages (using a new protocol) and
data (since the memory subsystem will be NUMA)—again, very similar to
the Opteron.
So I've been straying away from your question relating my Google research results … You're asking why the Linux docs have started to recommend turning it on in late 2008? Not sure this question has a provably correct answer … We would have to ask the doc writer. Turning NUMA on doesn't benefit desktop CPU users, but doesn't significantly hurt them either, while helping multi-socket users, so why not? This could have been the rationale. Found that reflected in a discussion about disabling NUMA on the Arch Linux tracker (FS#31187 - [linux] - disable NUMA from config files).
The doc author might also have thought of the NUMA potential of the Nehalem architecture of which, when the doc was written, the 11/2008 Core i7 processors (920, 940, 965) were the only representatives; the first Nehalem chips for which NUMA would have really made sense are probably the Q1/2009 Xeon processors with dual QPI link such as the Xeon E5520.
answered Jun 2 '14 at 18:34
LumiLumi
4872 gold badges6 silver badges17 bronze badges
4872 gold badges6 silver badges17 bronze badges
add a comment |
add a comment |
I think if you use the --show switch it might make more sense:
$ numactl --show
policy: default
preferred node: current
physcpubind: 0 1 2 3
cpubind: 0
nodebind: 0
membind: 0
So you can control the use of physcpubind's like this:
$ numactl --physcpubind=+0-2 myapp
This would limit the application myapp to the first 2 CPU cores. My system is an i5 with 4 cores.
References
- numctl man page
- numactl --physcpubind
- Using NUMA on RHEL 6
- Little things I didn’t know: difference between _enable_NUMA_support and numactl
add a comment |
I think if you use the --show switch it might make more sense:
$ numactl --show
policy: default
preferred node: current
physcpubind: 0 1 2 3
cpubind: 0
nodebind: 0
membind: 0
So you can control the use of physcpubind's like this:
$ numactl --physcpubind=+0-2 myapp
This would limit the application myapp to the first 2 CPU cores. My system is an i5 with 4 cores.
References
- numctl man page
- numactl --physcpubind
- Using NUMA on RHEL 6
- Little things I didn’t know: difference between _enable_NUMA_support and numactl
add a comment |
I think if you use the --show switch it might make more sense:
$ numactl --show
policy: default
preferred node: current
physcpubind: 0 1 2 3
cpubind: 0
nodebind: 0
membind: 0
So you can control the use of physcpubind's like this:
$ numactl --physcpubind=+0-2 myapp
This would limit the application myapp to the first 2 CPU cores. My system is an i5 with 4 cores.
References
- numctl man page
- numactl --physcpubind
- Using NUMA on RHEL 6
- Little things I didn’t know: difference between _enable_NUMA_support and numactl
I think if you use the --show switch it might make more sense:
$ numactl --show
policy: default
preferred node: current
physcpubind: 0 1 2 3
cpubind: 0
nodebind: 0
membind: 0
So you can control the use of physcpubind's like this:
$ numactl --physcpubind=+0-2 myapp
This would limit the application myapp to the first 2 CPU cores. My system is an i5 with 4 cores.
References
- numctl man page
- numactl --physcpubind
- Using NUMA on RHEL 6
- Little things I didn’t know: difference between _enable_NUMA_support and numactl
edited May 23 '17 at 11:33
Community♦
1
1
answered Sep 25 '13 at 12:58
slm♦slm
266k74 gold badges575 silver badges721 bronze badges
266k74 gold badges575 silver badges721 bronze badges
add a comment |
add a comment |
I've been researching the same thing for my desktop PC while building my kernel on my own. I have decided to disable NUMA after much research. My CPU is a Core i7 3820 which has 8 processors with HT. This page helped my come to my decision.
disable NUMA from config files
In summary, NUMA is only worthwhile if you have more than 1 CPU socket (regardless of cores). There is a very small hit to processing power on 1 CPU Socket machines even with multiple cores, but it is hardly noticeable so most distributions leave it enabled as it will provide a huge benefit to servers and machines with more than 1 socket.
add a comment |
I've been researching the same thing for my desktop PC while building my kernel on my own. I have decided to disable NUMA after much research. My CPU is a Core i7 3820 which has 8 processors with HT. This page helped my come to my decision.
disable NUMA from config files
In summary, NUMA is only worthwhile if you have more than 1 CPU socket (regardless of cores). There is a very small hit to processing power on 1 CPU Socket machines even with multiple cores, but it is hardly noticeable so most distributions leave it enabled as it will provide a huge benefit to servers and machines with more than 1 socket.
add a comment |
I've been researching the same thing for my desktop PC while building my kernel on my own. I have decided to disable NUMA after much research. My CPU is a Core i7 3820 which has 8 processors with HT. This page helped my come to my decision.
disable NUMA from config files
In summary, NUMA is only worthwhile if you have more than 1 CPU socket (regardless of cores). There is a very small hit to processing power on 1 CPU Socket machines even with multiple cores, but it is hardly noticeable so most distributions leave it enabled as it will provide a huge benefit to servers and machines with more than 1 socket.
I've been researching the same thing for my desktop PC while building my kernel on my own. I have decided to disable NUMA after much research. My CPU is a Core i7 3820 which has 8 processors with HT. This page helped my come to my decision.
disable NUMA from config files
In summary, NUMA is only worthwhile if you have more than 1 CPU socket (regardless of cores). There is a very small hit to processing power on 1 CPU Socket machines even with multiple cores, but it is hardly noticeable so most distributions leave it enabled as it will provide a huge benefit to servers and machines with more than 1 socket.
edited Mar 8 '15 at 16:26
PersianGulf
7,3354 gold badges37 silver badges63 bronze badges
7,3354 gold badges37 silver badges63 bronze badges
answered Mar 8 '15 at 15:39
Anthony S.Anthony S.
211 bronze badge
211 bronze badge
add a comment |
add a comment |
In a PC with at most one CPU, NUMA is totally useless. Feel free disable it in your own kernel.
You can always control CPU bonding by taskset(1).
add a comment |
In a PC with at most one CPU, NUMA is totally useless. Feel free disable it in your own kernel.
You can always control CPU bonding by taskset(1).
add a comment |
In a PC with at most one CPU, NUMA is totally useless. Feel free disable it in your own kernel.
You can always control CPU bonding by taskset(1).
In a PC with at most one CPU, NUMA is totally useless. Feel free disable it in your own kernel.
You can always control CPU bonding by taskset(1).
answered Oct 11 '13 at 3:19
b166erb166er
962 bronze badges
962 bronze badges
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f92302%2fenabling-numa-for-intel-core-i7%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown