lkml.org 
[lkml]   [2014]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RFC 5/5] sched,numa: find the preferred nid with complex NUMA topology
On 10/12/2014 10:56 AM, Peter Zijlstra wrote:
> On Wed, Oct 08, 2014 at 03:37:30PM -0400, riel@redhat.com wrote:
>> +static int preferred_group_nid(struct task_struct *p, int nid)
>> +{
>> + nodemask_t nodes;
>> + int hops;
>> +
>> + /* Direct connections between all NUMA nodes. */
>> + if (sched_numa_topology_type == NUMA_DIRECT)
>> + return nid;
>> +
>> + /*
>> + * On a system with glueless mesh NUMA topology, group_weight
>> + * scores nodes according to the number of NUMA hinting faults on
>> + * both the node itself, and on nearby nodes.
>> + */
>> + if (sched_numa_topology_type == NUMA_GLUELESS_MESH) {
>> + unsigned long score, max_score = 0;
>> + int node, max_node = nid;
>> +
>> + hops = sched_domains_numa_levels;
>> +
>> + for_each_online_node(node) {
>> + score = group_weight(p, node, hops);
>> + if (score > max_score) {
>> + max_score = score;
>> + max_node = node;
>> + }
>> + }
>> + return max_node;
>> + }
>
> This too is O(nr_nodes^2), right?
>
It is, but I suspect the glueless mesh topologies are
never larger than on the order of a dozen nodes or so.

Would you prefer me to make the optimization I proposed
in the other email, or should I just add in a comment
stating that that optimization could be made if it turns
out to be necessary?


\
 
 \ /
  Last update: 2014-10-13 10:02    [W:0.064 / U:1.772 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site