Whamcloud - gitweb
LU-3558 ptlrpc: Add the NRS TBF policy 01/6901/20
authorLi Xi <lixi@ddn.com>
Sun, 3 Nov 2013 17:49:54 +0000 (09:49 -0800)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 10 Jan 2014 21:12:51 +0000 (21:12 +0000)
commit33e35c0bf214c2565b8b0ce6b2235b9262aa1b54
tree7dd38f0f33814804b98c377f8a404bbd8a8707e7
parentae295503f53e867e11dc51b217f336e8b20d119f
LU-3558 ptlrpc: Add the NRS TBF policy

The TBF (Token Bucket Filter) policy schedules and throttles all
types of RPCs for traffic control purposes. It divides RPCs into
different types according to their NIDs or job IDs, and enforces
a RPC rate limit on every type. The handling of a RPC will be delayed
until there are enough tokens for the type. Different types are
scheduled according to their deadlines, so that none of them will be
starving even though the service does not have the ability to satisfy
all the RPC rate requirments of types. The RPCs with the the same
types are queued in a FIFO manner.

Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: I3f73dfbfb451cc44dfe5e0a575ec7ab5b90ac47e
Reviewed-on: http://review.whamcloud.com/6901
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
13 files changed:
lustre/include/Makefile.am
lustre/include/lustre_net.h
lustre/include/lustre_nrs_tbf.h [new file with mode: 0644]
lustre/ptlrpc/Makefile.in
lustre/ptlrpc/autoMakefile.am
lustre/ptlrpc/lproc_ptlrpc.c
lustre/ptlrpc/nrs.c
lustre/ptlrpc/nrs_crr.c
lustre/ptlrpc/nrs_fifo.c
lustre/ptlrpc/nrs_orr.c
lustre/ptlrpc/nrs_tbf.c [new file with mode: 0644]
lustre/ptlrpc/ptlrpc_internal.h
lustre/ptlrpc/service.c