DPDK patches and discussions
 help / color / mirror / Atom feed
From: Kevin Laatz <kevin.laatz@intel.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: <dev@dpdk.org>
Subject: Re: [PATCH] dma/idxd: add generic option for queue config
Date: Thu, 31 Mar 2022 16:47:04 +0100	[thread overview]
Message-ID: <3c9246a0-dcd1-7615-3024-2dd1d596ff5a@intel.com> (raw)
In-Reply-To: <YkXBbiQsJAeKQOTk@bricha3-MOBL.ger.corp.intel.com>

On 31/03/2022 15:57, Bruce Richardson wrote:
> On Wed, Mar 30, 2022 at 04:07:00PM +0100, Kevin Laatz wrote:
>> The device config script currently uses some defaults to configure
>> devices in a generic way.
>>
>> With the addition of this option, users have more control over how
>> queues are configured.
>>
>> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
>> ---
>>   drivers/dma/idxd/dpdk_idxd_cfg.py | 29 ++++++++++++++++++++++++++---
>>   1 file changed, 26 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/dma/idxd/dpdk_idxd_cfg.py b/drivers/dma/idxd/dpdk_idxd_cfg.py
>> index 3f5d5ee752..9ac724e7a8 100755
>> --- a/drivers/dma/idxd/dpdk_idxd_cfg.py
>> +++ b/drivers/dma/idxd/dpdk_idxd_cfg.py
>> @@ -62,9 +62,25 @@ def get_dsa_id(pci):
>>                   return int(dir[3:])
>>       sys.exit(f"Could not get device ID for device {pci}")
>>   
>> -
>> -def configure_dsa(dsa_id, queues, prefix):
>> +def parse_wq_opts(dsa_id, q, wq_opts):
>> +    "Parse the additional user-specified queue configuration"
>> +    wq_dir = SysfsDir(f'/sys/bus/dsa/devices/dsa{dsa_id}/wq{dsa_id}.{q}')
>> +    for wq_opt in wq_opts:
>> +        try:
>> +            opt, val = wq_opt.split("=")
>> +        except ValueError:
>> +            sys.exit("Invalid format, use format 'option=value'")
>> +        if not os.path.exists(os.path.join(wq_dir.path, f'{opt}')):
>> +            sys.exit(f"Invalid sysfs node '{opt}', path does not exist")
>> +        wq_dir.write_values({opt: val})
>> +
>> +
>> +def configure_dsa(dsa_id, args):
>>       "Configure the DSA instance with appropriate number of queues"
>> +    queues = args.q
>> +    prefix = args.prefix
>> +    wq_opts = args.wq_option
>> +
>>       dsa_dir = SysfsDir(f"/sys/bus/dsa/devices/dsa{dsa_id}")
>>   
>>       max_groups = dsa_dir.read_int("max_groups")
>> @@ -92,6 +108,11 @@ def configure_dsa(dsa_id, queues, prefix):
>>                                "max_batch_size": 1024,
>>                                "size": int(max_work_queues_size / nb_queues)})
>>   
>> +    # parse additional user-spcified queue configuration
>> +    if wq_opts:
>> +        for q in range(nb_queues):
>> +            parse_wq_opts(dsa_id, q, wq_opts)
>> +
> I think this may be better to have the parse function only parse the
> options and split them. If that is done before the actual queue
> configuration function is called, then the additional options could be
> passed in there, and merged with the existing config settings. This avoids
> duplicating things and doing two sets of configs.

Thanks for the suggestion, Bruce. I'll look into it and send a v2.

/Kevin


  reply	other threads:[~2022-03-31 15:47 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-30 15:07 Kevin Laatz
2022-03-31 14:57 ` Bruce Richardson
2022-03-31 15:47   ` Kevin Laatz [this message]
2022-03-31 17:21 ` [PATCH v2] " Kevin Laatz
2022-04-01  9:08   ` Bruce Richardson
2022-04-01 10:35   ` [PATCH v3] " Kevin Laatz
2022-04-01 10:51     ` Bruce Richardson
2022-06-07 10:47       ` Thomas Monjalon
2022-04-04  9:58     ` Pai G, Sunil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3c9246a0-dcd1-7615-3024-2dd1d596ff5a@intel.com \
    --to=kevin.laatz@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).