DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <arybchenko@solarflare.com>
To: Kevin Traynor <ktraynor@redhat.com>, <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] ethdev: decrease log level for successful API
Date: Thu, 2 Aug 2018 16:52:02 +0300	[thread overview]
Message-ID: <7f50a75f-d585-d8fd-5b31-783a5c4a37bc@solarflare.com> (raw)
In-Reply-To: <d94cce34-1335-1372-8f25-34e79ab935e2@redhat.com>

On 02.08.2018 16:35, Kevin Traynor wrote:
> On 08/02/2018 01:59 PM, Andrew Rybchenko wrote:
>> On 02.08.2018 15:33, Kevin Traynor wrote:
>>> Change log level of messages from ERR back to DEBUG where
>>> existing API indicates that the condition is a success.
>>>
>>> This means applications using the API in its current form will
>>> not get new ERR logs.
>>>
>>> Fixes: bea1e0c70cfc ("ethdev: convert static log type usage to dynamic")
>>>
>>> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
>>> ---
>>>    lib/librte_ethdev/rte_ethdev.c | 12 ++++++------
>>>    1 file changed, 6 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/lib/librte_ethdev/rte_ethdev.c
>>> b/lib/librte_ethdev/rte_ethdev.c
>>> index c7ab157..16656d2 100644
>>> --- a/lib/librte_ethdev/rte_ethdev.c
>>> +++ b/lib/librte_ethdev/rte_ethdev.c
>>> @@ -797,5 +797,5 @@ struct rte_eth_dev *
>>>          if (dev->data->rx_queue_state[rx_queue_id] !=
>>> RTE_ETH_QUEUE_STATE_STOPPED) {
>>> -        RTE_ETHDEV_LOG(ERR,
>>> +        RTE_ETHDEV_LOG(DEBUG,
>>>                "Queue %"PRIu16" of device with port_id=%"PRIu16"
>>> already started\n",
>>>                rx_queue_id, port_id);
>>> @@ -824,5 +824,5 @@ struct rte_eth_dev *
>>>          if (dev->data->rx_queue_state[rx_queue_id] ==
>>> RTE_ETH_QUEUE_STATE_STOPPED) {
>>> -        RTE_ETHDEV_LOG(ERR,
>>> +        RTE_ETHDEV_LOG(DEBUG,
>>>                "Queue %"PRIu16" of device with port_id=%"PRIu16"
>>> already stopped\n",
>>>                rx_queue_id, port_id);
>>> @@ -857,5 +857,5 @@ struct rte_eth_dev *
>>>          if (dev->data->tx_queue_state[tx_queue_id] !=
>>> RTE_ETH_QUEUE_STATE_STOPPED) {
>>> -        RTE_ETHDEV_LOG(ERR,
>>> +        RTE_ETHDEV_LOG(DEBUG,
>>>                "Queue %"PRIu16" of device with port_id=%"PRIu16"
>>> already started\n",
>>>                tx_queue_id, port_id);
>>> @@ -882,5 +882,5 @@ struct rte_eth_dev *
>>>          if (dev->data->tx_queue_state[tx_queue_id] ==
>>> RTE_ETH_QUEUE_STATE_STOPPED) {
>>> -        RTE_ETHDEV_LOG(ERR,
>>> +        RTE_ETHDEV_LOG(DEBUG,
>>>                "Queue %"PRIu16" of device with port_id=%"PRIu16"
>>> already stopped\n",
>>>                tx_queue_id, port_id);
>>> @@ -1287,5 +1287,5 @@ struct rte_eth_dev *
>>>          if (dev->data->dev_started != 0) {
>>> -        RTE_ETHDEV_LOG(ERR,
>>> +        RTE_ETHDEV_LOG(DEBUG,
>>>                "Device with port_id=%"PRIu16" already started\n",
>>>                port_id);
>>> @@ -1319,5 +1319,5 @@ struct rte_eth_dev *
>>>          if (dev->data->dev_started == 0) {
>>> -        RTE_ETHDEV_LOG(ERR,
>>> +        RTE_ETHDEV_LOG(DEBUG,
>>>                "Device with port_id=%"PRIu16" already stopped\n",
>>>                port_id);
>> I would suggest to use WARNING here. Yes, it is not an error since
>> nothing bad has
>> happened and we handle duplicate stop and duplicate start,
>> but I think it is bad that (buggy?) application does it. Making it debug
>> we simply
>> hide it too much.
>>
> I think an application following the documented API is not bad or buggy.

I've failed to find the place were it is documented that device/queue
may be stopped/started twice. Could you point out?
Yes, return value 0 means success, but it is a separate thing.

> An application may not maintain some state and always call a stop before
> a start etc. in line with the API.
>
> I don't think an API success condition should be changed from a debug
> message to anything else. Otherwise, it is trying to flag a warning
> about the application which is following the API! It and will just spook
> people when they see a new warning.

  reply	other threads:[~2018-08-02 13:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-02 12:33 Kevin Traynor
2018-08-02 12:59 ` Andrew Rybchenko
2018-08-02 13:35   ` Kevin Traynor
2018-08-02 13:52     ` Andrew Rybchenko [this message]
2018-08-02 14:09       ` Kevin Traynor
2018-08-02 14:41         ` Andrew Rybchenko
2018-08-02 14:52           ` Kevin Traynor
2018-08-02 16:14             ` Thomas Monjalon
2018-08-02 18:01               ` Andrew Rybchenko
2018-08-02 18:27                 ` Kevin Traynor
2018-08-02 12:59 ` Andrew Rybchenko
2018-08-02 15:14 ` Stephen Hemminger
2018-08-02 18:33 ` Kevin Traynor
2018-08-02 18:39   ` Kevin Traynor
2018-08-02 18:39 ` [dpdk-dev] [PATCH v2] " Kevin Traynor
2018-08-03  8:04   ` Andrew Rybchenko
2018-08-05 13:29     ` Thomas Monjalon

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=7f50a75f-d585-d8fd-5b31-783a5c4a37bc@solarflare.com \
    --to=arybchenko@solarflare.com \
    --cc=dev@dpdk.org \
    --cc=ktraynor@redhat.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 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).