Hi, These patches I have pushed to gerrithub implement setting CPU affinity of decoder/worker/sender threads.
On a multiprocessor system, setting the CPU affinity mask can improve performance. We already tested it on a NUMA machine, and had obtained performance benifits. Since that, I provided a configurable way to set the CPU affinity of decoder/worker/sender threads. People using nfs-ganesha can arbitrarily tune the bind status of those threads through amending these config items below: * Decoder_Cpus_Allowed: set CPU affinity, it's a comma-delimited list of CPU numbers the decoder threads may run on * Decoder_Cpumask: the same as Decoder_Cpus_Allowed, but it allows a comma-hexadecimal value of allowed cpus * Decoder_Policy: Set the policy of how ntirpc distributes the CPUs, split or shared is allowed * Worker_Cpus_Allowed/Worker_Cpumask/Worker_Policy: configurations about worker threads * Sender_Cpus_Allowed/Sender_Cpumask/Sender_Plicy: configurations about sender threads The patch "add configurations about setting CPU affinity of sender threads" should be used with the patch: "[PATCH] ntitpc: implement setting CPU affinity of sender threads". The patch "tune the place of svc_init" is based on the patch: "[PATCH] ntirpc: remove redundant assignment of ->warnx" or warnx will be assigned to default. TODO list: - introduce the configurations of the scheduler class and priority for those threads thanks, Wei Wei Fang (7): add term of delimitation add new config item type of CONFIG_CPUS_ALLOWED implement setting CPU affinity of decoder threads implement setting CPU affinity of worker threads add configurations about setting CPU affinity of sender threads introduce cpumask configuration to set CPU affinity tune the place of svc_init ------------------------------------------------------------------------------ _______________________________________________ Nfs-ganesha-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
