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>
42 lines
1.5 KiB
Python
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)
|