This is an application designed to provide custom RPC interface for testing scheduler and governor implementations. Based on those RPCs scenarios later can be implemented to verify functionality. Tests added here verify just the app itself. Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I74b81234b95d815864cf8264705d728e3a7fe309 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5763 Community-CI: Broadcom CI Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Michal Berger <michalx.berger@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
from rpc.client import print_json
|
|
|
|
|
|
def thread_create(args):
|
|
params = {'active': args.active}
|
|
if args.name:
|
|
params['name'] = args.name
|
|
if args.cpu_mask:
|
|
params['cpu_mask'] = args.cpu_mask
|
|
return args.client.call('scheduler_thread_create', params)
|
|
|
|
|
|
def create_thread(args):
|
|
print_json(thread_create(args))
|
|
|
|
|
|
def thread_set_active(args):
|
|
params = {'thread_id': args.thread_id, 'active': args.active}
|
|
return args.client.call('scheduler_thread_set_active', params)
|
|
|
|
|
|
def thread_delete(args):
|
|
params = {'thread_id': args.thread_id}
|
|
return args.client.call('scheduler_thread_delete', params)
|
|
|
|
|
|
def spdk_rpc_plugin_initialize(subparsers):
|
|
p = subparsers.add_parser('scheduler_thread_create', help='Create spdk thread')
|
|
p.add_argument('-n', '--name', help='Name of spdk thread and poller')
|
|
p.add_argument('-m', '--cpu_mask', help='CPU mask for spdk thread')
|
|
p.add_argument('-a', '--active', help='Percent of time thread is active', type=int)
|
|
p.set_defaults(func=create_thread)
|
|
|
|
p = subparsers.add_parser('scheduler_thread_set_active', help='Change percent of time the spdk thread is active')
|
|
p.add_argument('thread_id', help='spdk_thread id', type=int)
|
|
p.add_argument('active', help='Percent of time thread is active', type=int)
|
|
p.set_defaults(func=thread_set_active)
|
|
|
|
p = subparsers.add_parser('scheduler_thread_delete', help='Delete spdk thread')
|
|
p.add_argument('thread_id', help='spdk_thread id', type=int)
|
|
p.set_defaults(func=thread_delete)
|