Spdk/test/event/scheduler/scheduler_plugin.py

46 lines
1.6 KiB
Python
Raw Normal View History

# SPDX-License-Identifier: BSD-3-Clause
# Copyright (C) 2021 Intel Corporation.
# All rights reserved.
from spdk.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)