Re: [PATCH 1/5] cpuset memory spread basic implementation

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

 



Just some words of clarification here:

Memory spreading is useful if multiple processes are running on 
multiple nodes that access the same set of files (and therefore use the 
same dentries inodes etc). This is only true for very large applications.
Users typically segment a machine using cpusets to give these apps a 
range of nodes and processors to use. The rest of the system may be used
for other needs. The spreading should therefore be restricted to the set 
of nodes in use by that application.

This is very different from the typical case of a single threaded process 
roaming across some data and then terminating. In that case we always want 
placement of memory as near to the process as possible. In cases were we 
are not sure about future application behavior it is best to assume that 
node local is best. Spreading memory allocations for storage that is only 
accessed from one processor will reduce the performance of an application.

So the default operating mode needs to be node local.

There is one exception from this during system bootup. In that case we are 
allocating structures that will be finally be used by processes running on 
all nodes on the system. It is therefore advantageous to spread these 
allocations out. That is currently accomplished by setting the default 
memory allocation policy to MPOL_INTERLEAVE while a kernel boots. Memory 
allocation policies revert to default (node local) when init starts.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux