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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1154669863.21040.2357.camel@hole.melbourne.sgi.com>
Date:	Fri, 04 Aug 2006 15:37:46 +1000
From:	Greg Banks <gnb@...bourne.sgi.com>
To:	Andrew Morton <akpm@...l.org>
Cc:	Neil Brown <neilb@...e.de>,
	Linux NFS Mailing List <nfs@...ts.sourceforge.net>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: [PATCH 4 of 4] knfsd: handle non-contiguous cpu and node numbers

knfsd: when allocating per-cpu or per-node rpc thread pools, handle
the case of noncontiguous cpu or node numbers.

Tested:

Machine                         ARCH    SMP NUMA    SUNRPC  nodes   cpus    hpni    hppi    pools(mode)
-------                         ----    --- ----    ------  -----   ----    ----    ----    ------------
4 cpu Xeon SMP                  x86_64  y   y       y       1       4       31      7       4 (percpu)
4 cpu Xeon SMP                  x86_64  y   y       m       1       4       31      7       4 (percpu)
4 cpu Xeon SMP                  x86_64  y   n       y       0       4       0       7       4 (percpu)
4 cpu Xeon SMP                  x86_64  y   n       m       0       4       0       7       4 (percpu)
4 cpu Xeon SMP                  x86_64  n   n       y       0       1       0       0       1 (global)
4 cpu Xeon SMP                  x86_64  n   n       m       0       1       0       0       1 (global)
4 cpu (2 node) Itanium NUMA     ia64    y   y       m       2       4       1023    3       2 (pernode)
2 cpu (1 node) Itanium NUMA     ia64    y   y       m       1       2       1023    1       1 (global)

* number of nodes and cpus from /sys/devices/system/
* hpni = value of highest_possible_node_id()
* hppi = value of highest_possible_processor_id()

Signed-off-by: Greg Banks <gnb@...bourne.sgi.com>
---

 net/sunrpc/svc.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Index: linus-git/net/sunrpc/svc.c
===================================================================
--- linus-git.orig/net/sunrpc/svc.c	2006-08-01 15:38:30.000000000 +1000
+++ linus-git/net/sunrpc/svc.c	2006-08-02 13:20:35.979647782 +1000
@@ -116,7 +116,7 @@ fail:
 static int
 svc_pool_map_init_percpu(struct svc_pool_map *m)
 {
-	unsigned int maxpools = num_possible_cpus();
+	unsigned int maxpools = highest_possible_processor_id()+1;
 	unsigned int pidx = 0;
 	unsigned int cpu;
 	int err;
@@ -144,7 +144,7 @@ svc_pool_map_init_percpu(struct svc_pool
 static int
 svc_pool_map_init_pernode(struct svc_pool_map *m)
 {
-	unsigned int maxpools = num_possible_nodes();
+	unsigned int maxpools = highest_possible_node_id()+1;
 	unsigned int pidx = 0;
 	unsigned int node;
 	int err;

-- 
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.


-
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ