From: Thomas Monjalon <thomas@monjalon.net>
To: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,
fengchengwen <fengchengwen@huawei.com>,
Ferruh Yigit <ferruh.yigit@amd.com>
Cc: Aman Singh <aman.deep.singh@intel.com>,
Yuying Zhang <yuying.zhang@intel.com>,
dev@dpdk.org, "techboard@dpdk.org" <techboard@dpdk.org>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
David Marchand <david.marchand@redhat.com>,
Akhil Goyal <gakhil@marvell.com>
Subject: Re: [PATCH] app/testpmd: dump private info in 'show port info'
Date: Thu, 16 Mar 2023 16:16:20 +0100 [thread overview]
Message-ID: <1844579.tdWV9SEqCh@thomas> (raw)
In-Reply-To: <130d8ac9-967f-16b0-103f-84d4bcaa81f0@amd.com>
16/03/2023 11:46, Ferruh Yigit:
> On 3/16/2023I 9:19 AM, Dmitry Kozlyuk wrote:
> > On Thu, Mar 16, 2023 at 4:11 AM fengchengwen <fengchengwen@huawei.com> wrote:
> >> Because we have no API to know the PMD whether impl specific ops, we could only knowed by invoking.
> >> Except above impl, I also consider the other two:
> >> 1. just invoke rte_eth_dev_priv_dump without previous printf("Device private info") and later error printf.
> >> and I think people may curious about the extra output without a prompt just like "Device private info".
> >> 2. use fmemopen (the below code), this way will perfect process the PMD which not imp ops.
> >> FILE *f = fmemopen(buf, max-size(e.g. 128KB));
> >> ret = rte_eth_dev_priv_dump(port_id, f);
> >> if (ret == 0) {
> >> printf("Device private info:\n");
> >> printf("%s", buf);
> >> }
> >> But the windows platform don't support fmemopen.
> >>
> >> Hope for more feedback.
> >
> > What if rte_eth_dev_priv_dump() was a documented no-op when "f == NULL"?
> > This can be implemented in ethdev layer:
> > 1) if not implemented, return ENOTSUP
> > 2) if f == NULL, return 0
> > 3) else call PMD
> > Technically, even now a null device handle can be used, but this is
> > cumbersome and wastes resources for running the API twice.
>
>
> Not sure about to overload "f == NULL" condition to detect the feature
> support.
>
> It may be good to have a generic way to detect the support.
>
> One way is to add new set of APIs just to test the dev_ops, and return
> boolean like:
> 'bool rte_eth_dev_is_priv_dump(uint16_t port_id);'
>
>
> Another option can be introducing an enum, each enum item can represent
> a dev_ops and a single API can be used to detect the support. This
> requires more maintenance for long term, as app needs to know more,
> not sure if I like this.
>
>
> If there is no objection to add new APIs, I can own the task, to have
> APIs like:
> 'bool rte_eth_dev_is_xxx(uint16_t port_id);'
That's a debug function, so I don't think we need to know in advance
whether it will print something or not.
Returning ENOTSUP should be enough in my opinion.
next prev parent reply other threads:[~2023-03-16 15:16 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-14 11:50 [PATCH] app/testpmd: support dump ethdev private cmd Chengwen Feng
2023-03-14 13:45 ` Ferruh Yigit
2023-03-15 2:02 ` fengchengwen
2023-03-15 2:33 ` [PATCH] app/testpmd: dump private info in 'show port info' Chengwen Feng
2023-03-15 8:28 ` Singh, Aman Deep
2023-03-15 10:12 ` Ferruh Yigit
2023-03-16 1:10 ` fengchengwen
2023-03-16 7:55 ` Thomas Monjalon
2023-03-16 9:39 ` fengchengwen
2023-03-16 9:19 ` Dmitry Kozlyuk
2023-03-16 9:43 ` fengchengwen
2023-03-16 10:46 ` Ferruh Yigit
2023-03-16 15:16 ` Thomas Monjalon [this message]
2023-03-16 9:32 ` [PATCH v2] " Chengwen Feng
2023-03-16 11:42 ` Ferruh Yigit
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=1844579.tdWV9SEqCh@thomas \
--to=thomas@monjalon.net \
--cc=aman.deep.singh@intel.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=dmitry.kozliuk@gmail.com \
--cc=fengchengwen@huawei.com \
--cc=ferruh.yigit@amd.com \
--cc=gakhil@marvell.com \
--cc=techboard@dpdk.org \
--cc=yuying.zhang@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.