+ knfsd-make-rpc-threads-pools-numa-aware-fix.patch added to -mm tree

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

 



The patch titled

     knfsd: handle non-contiguous cpu and node numbers

has been added to the -mm tree.  Its filename is

     knfsd-make-rpc-threads-pools-numa-aware-fix.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: knfsd: handle non-contiguous cpu and node numbers
From: Greg Banks <gnb@xxxxxxxxxxxxxxxxx>

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@xxxxxxxxxxxxxxxxx>
Cc: Neil Brown <neilb@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---


diff -puN net/sunrpc/svc.c~knfsd-make-rpc-threads-pools-numa-aware-fix net/sunrpc/svc.c
--- a/net/sunrpc/svc.c~knfsd-make-rpc-threads-pools-numa-aware-fix
+++ a/net/sunrpc/svc.c
@@ -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;
_

Patches currently in -mm which might be from gnb@xxxxxxxxxxxxxxxxx are

cpumask-add-highest_possible_node_id.patch
cpumask-export-cpu_online_map-and-cpu_possible_map.patch
cpumask-export-node_to_cpu_mask-consistently.patch
knfsd-knfsd-add-some-missing-newlines-in-printks.patch
knfsd-knfsd-remove-an-unused-variable-from-e_show.patch
knfsd-knfsd-remove-an-unused-variable-from-auth_unix_lookup.patch
knfsd-use-seq_start_token-instead-of-hardcoded-magic-void1.patch
knfsd-move-tempsock-aging-to-a-timer.patch
knfsd-move-tempsock-aging-to-a-timer-tidy.patch
knfsd-convert-sk_inuse-to-atomic_t.patch
knfsd-use-new-lock-for-svc_sock-deferred-list.patch
knfsd-convert-sk_reserved-to-atomic_t.patch
knfsd-test-and-set-sk_busy-atomically.patch
knfsd-split-svc_serv-into-pools.patch
knfsd-add-svc_get.patch
knfsd-add-svc_set_num_threads.patch
knfsd-use-svc_set_num_threads-to-manage-threads-in-knfsd.patch
knfsd-make-rpc-threads-pools-numa-aware.patch
knfsd-make-rpc-threads-pools-numa-aware-fix.patch
knfsd-allow-admin-to-set-nthreads-per-node.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux