lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 20 Jan 2014 17:31:03 +0100 From: Peter Zijlstra <peterz@...radead.org> To: riel@...hat.com Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org, chegu_vinod@...com, mgorman@...e.de, mingo@...hat.com Subject: Re: [PATCH 3/7] numa,sched: build per numa_group active node mask from faults_from statistics On Fri, Jan 17, 2014 at 04:12:05PM -0500, riel@...hat.com wrote: > /* > + * Iterate over the nodes from which NUMA hinting faults were triggered, in > + * other words where the CPUs that incurred NUMA hinting faults are. The > + * bitmask is used to limit NUMA page migrations, and spread out memory > + * between the actively used nodes. To prevent flip-flopping, and excessive > + * page migrations, nodes are added when they cause over 40% of the maximum > + * number of faults, but only removed when they drop below 20%. > + */ > +static void update_numa_active_node_mask(struct task_struct *p) > +{ > + unsigned long faults, max_faults = 0; > + struct numa_group *numa_group = p->numa_group; > + int nid; > + > + for_each_online_node(nid) { > + faults = numa_group->faults_from[task_faults_idx(nid, 0)] + > + numa_group->faults_from[task_faults_idx(nid, 1)]; > + if (faults > max_faults) > + max_faults = faults; > + } > + > + for_each_online_node(nid) { > + faults = numa_group->faults_from[task_faults_idx(nid, 0)] + > + numa_group->faults_from[task_faults_idx(nid, 1)]; > + if (!node_isset(nid, numa_group->active_nodes)) { > + if (faults > max_faults * 4 / 10) > + node_set(nid, numa_group->active_nodes); > + } else if (faults < max_faults * 2 / 10) > + node_clear(nid, numa_group->active_nodes); > + } > +} Why not use 6/16 and 3/16 resp.? That avoids an actual division. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists