Whamcloud - gitweb
LU-398 ptlrpc: Add the NRS framework and FIFO policy
authorNikitas Angelinas <nikitas_angelinas@xyratex.com>
Wed, 20 Jun 2012 09:31:16 +0000 (10:31 +0100)
committerOleg Drokin <green@whamcloud.com>
Wed, 30 Jan 2013 17:45:21 +0000 (12:45 -0500)
commitaedb20f5caf2f2a28e33da70d837415a5082c0af
treefb9d499a0a4ab960def9a7081a97382f68bcbbc9
parent0029746a65063c4879c1b6800363b7c8ea3ca664
LU-398 ptlrpc: Add the NRS framework and FIFO policy

The Network Request Scheduler (NRS) allows a user to control the way
in which RPCs are dispatched from PTLRPC services. This can be used to
various effects, most importantly improved fairness across the
cluster, better I/O performance under certain workloads, and allowing
for QoS semantics to be used at the filesystem level. Central to the
operation of NRS are NRS policies, each of which implements handling
of RPCs in a different way, aiming to achieve a particular goal.

This patch adds the core NRS framework and the NRS FIFO policy, which
is a logical wrapper around previous, non-NRS functionality, and is
used as the default policy for handling all types of RPCs.

Signed-off-by: Nikitas Angelinas <nikitas_angelinas@xyratex.com>
Co-authored-by: Liang Zhen <liang@whamcloud.com>
Change-Id: I7fcd7885cc89b653d9bc482da533aae2f129bdf9
Oracle-bug-id: b=13634
Xyratex-bug-id: MRP-73
Reviewed-on: http://review.whamcloud.com/4411
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lustre_net.h
lustre/ldlm/ldlm_lockd.c
lustre/ptlrpc/Makefile.in
lustre/ptlrpc/autoMakefile.am
lustre/ptlrpc/lproc_ptlrpc.c
lustre/ptlrpc/nrs.c [new file with mode: 0644]
lustre/ptlrpc/nrs_fifo.c [new file with mode: 0644]
lustre/ptlrpc/ptlrpc_internal.h
lustre/ptlrpc/ptlrpc_module.c
lustre/ptlrpc/service.c