Spdk/test/event/scheduler/scheduler_plugin.py
Konrad Sztyber 7610bc38dc scripts: move python modules to python directory
Up until now, importing an SPDK RPC python module was just a matter of
`import rpc`.  It's fine until there's another module called `rpc`
installed on the system, in which case it's impossible to import both of
them.  Therefore, to avoid this problem, all of the modules were moved
to a separate directory under the "spdk" namespace.

The decision to move to a location under a separate directory was
motivated by the fact that a directory called scripts/spdk would look
pretty confusing.  Moreover, it should make it also easier to package
these scripts as a python package.

Other than moving the packages, all of the imports were updated to
reflect these changes.  Files under python now use relative imports,
while those under scripts/ use the "spdk" namespace and have their
PYTHONPATH extended with python directory.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: Ib43dee73921d590a551dd83885e22870e72451cf
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9692
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-04-05 14:40:47 +00:00

42 lines
1.5 KiB
Python

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)