From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 37484A04AE;
	Mon,  4 May 2020 20:31:17 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 8283A1D167;
	Mon,  4 May 2020 20:31:16 +0200 (CEST)
Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com
 [210.118.77.11]) by dpdk.org (Postfix) with ESMTP id 15BBE1D160
 for <dev@dpdk.org>; Mon,  4 May 2020 20:31:14 +0200 (CEST)
Received: from eucas1p1.samsung.com (unknown [182.198.249.206])
 by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id
 20200504183113euoutp016eb0d1d605bfdec514b667195df0d77f~L5s-Pla8_2618926189euoutp01x
 for <dev@dpdk.org>; Mon,  4 May 2020 18:31:13 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com
 20200504183113euoutp016eb0d1d605bfdec514b667195df0d77f~L5s-Pla8_2618926189euoutp01x
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
 s=mail20170921; t=1588617073;
 bh=B9RZVlkgHc60LejGcHv9JOpYAU04sd42IItEVNClCU4=;
 h=Subject:To:From:Date:In-Reply-To:References:From;
 b=a6cDvpky7MvqYzRDQvQ19+yZPlBUxhGlGBXytRuK+Sk78aFjSOC6LHsp36sm/1mdJ
 BD7OiGqau8w/2LfMr0kYd6cLSEhTnlOKykBqL0GxBt1dw3pfSweQvX3LcUJck59W0R
 GTwV7B1GsgXypCNelyH8jRtAr3dqlpEfBpVELUX8=
Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by
 eucas1p1.samsung.com (KnoxPortal) with ESMTP id
 20200504183112eucas1p147d52b1a19a996b1a7174c4935685c79~L5s_NHsQ80313703137eucas1p1j;
 Mon,  4 May 2020 18:31:12 +0000 (GMT)
Received: from eucas1p2.samsung.com ( [182.198.249.207]) by
 eusmges3new.samsung.com (EUCPMTA) with SMTP id 3C.E1.60698.07F50BE5; Mon,  4
 May 2020 19:31:12 +0100 (BST)
Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by
 eucas1p2.samsung.com (KnoxPortal) with ESMTPA id
 20200504183111eucas1p259980236ac30abdb2e64f49be357c952~L5s9FzD5s2057220572eucas1p2Y;
 Mon,  4 May 2020 18:31:11 +0000 (GMT)
Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by
 eusmtrp2.samsung.com (KnoxPortal) with ESMTP id
 20200504183111eusmtrp224361c3427eb7ab760247c15d35d1bcd~L5s9FN-vC1518315183eusmtrp2h;
 Mon,  4 May 2020 18:31:11 +0000 (GMT)
X-AuditID: cbfec7f5-a29ff7000001ed1a-2d-5eb05f7038b0
Received: from eusmtip1.samsung.com ( [203.254.199.221]) by
 eusmgms1.samsung.com (EUCPMTA) with SMTP id 6D.F7.08375.F6F50BE5; Mon,  4
 May 2020 19:31:11 +0100 (BST)
Received: from [106.109.129.29] (unknown [106.109.129.29]) by
 eusmtip1.samsung.com (KnoxPortal) with ESMTPA id
 20200504183110eusmtip1ceff522cd7d7da8b568adc19e814212c~L5s8mJBff1584215842eusmtip1E;
 Mon,  4 May 2020 18:31:10 +0000 (GMT)
To: Andrew Rybchenko <arybchenko@solarflare.com>, Thomas Monjalon
 <thomas@monjalon.net>, dev@dpdk.org, v.kuramshin@samsung.com,
 david.marchand@redhat.com, ferruh.yigit@intel.com
From: Ivan Dyukov <i.dyukov@samsung.com>
Message-ID: <844451fc-b882-f210-c2a5-21b8238867ab@samsung.com>
Date: Mon, 4 May 2020 21:31:10 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.7.0
MIME-Version: 1.0
In-Reply-To: <8d47d629-8008-f75b-b906-7945f2462d97@solarflare.com>
Content-Language: ru-RU
X-Brightmail-Tracker: H4sIAAAAAAAAA1WSaUgUYRjHfXfWmfFYG1fDJ5XKNfLAozJiozCzg/0gERYhmdqWk4ruKjse
 aRiKroiG1CJmaq1Z4VV45I1pLXm1kJF5pqFomYYpq1nmle6MYN9+z/P8n+P/8pKYMBW3JsPk
 0bRCLo0Q4cb8uvalbteooMrAAzM6B/Fo9gguri/JwMU/dfU88fArLSHWjXbyxdrBl4QXLvlb
 +MxQ8qR5iidpH8whJLMtvbgkq6YMScon/uDn8cvGx4PpiLBYWuHuedU49J5SiUd97UE321MW
 eUmo9i3KQEYkUIeha2ySn4GMSSFVgmB8QMdjgwUE0+ppQzaYR9DXWsrbasmsqOIKxQhSk0u5
 YBZBUXGLXmVB+YKqPFk/2JKqRVC88lhfwClH0KY/0rOA8oScqV79JXxqH3wvzSE2eSflB+uq
 cT6rMYeuBxN6NqK84fPIELbJGHUJJkcbeCxbwVz9G3xzGVAaAhYadRh762l40T3OsQVMd9QQ
 LNvCeqOa83MLflf3E2xzOoIvRUpOdAJqfrzn+CQspfZtMLnBZjAwY84uNgNV3X2MTQsgPU3I
 qkXwuusjlwZYXTZl0xJY6u3H2MeawUBV0kbcRXvzttnM22Ytb5s1lvdASm0+lrcxFqOcoKLJ
 nU2Hg0ZVS7DsCMqCh8T/cnZM66c0ju0gO3OM0zjAu+anWCEyKUNWdAwjC6EZDzkd58ZIZUyM
 PMTteqSsGm38Te1ax68G1LJyTYMoEolMBX7zFYFCQ2ksEy/TICAxkaXA7khloFAQLI1PoBWR
 QYqYCJrRIBuSL7ISeBRNBQipEGk0HU7TUbRiq8ojjayT0MhtxtxwomD4irP/h7qkcyttN2Td
 w3GD/NYd3sdcghbiUkNMDVzOVvlk3mnNDxuTe+QYZIGwSTftkn10zileWz+ixr4R0WfW4nps
 +qTlg8taPze/znKfC/t3L1UHHMJO7fL3jVIm5qpzLS4uZiS62D4nNWZDJvYJSlcP00yvVXsR
 nwmVHnTGFIz0H0pYMtuXAwAA
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrFIsWRmVeSWpSXmKPExsVy+t/xu7r58RviDObdFbV4MOUum8X2FV1s
 Fu8+bWeyuLP3NLvFpwcnWCxO39zM7sDm8WvBUlaPxXteMnkcuzmN3eP9vqtsHn1bVjF6rH7y
 gy2ALUrPpii/tCRVISO/uMRWKdrQwkjP0NJCz8jEUs/Q2DzWyshUSd/OJiU1J7MstUjfLkEv
 496eiWwFtxwqVvR+Z25g3GjaxcjJISFgItG9fiNrFyMXh5DAUkaJc/NeADkcQAkJiddPmCFq
 hCX+XOtig6h5yyjx6t88JpCEsECQxKTVjSwgCRGBrYwSf2ecgpr0llni47LlrCBVbAIaEqc7
 IDp4Bewkpr28yghiswioSLxYOY0dxBYViJD4fPAIG0SNoMTJmU9YQGxOASeJ23dvgZ3BLBAm
 cf7vBnYIW1ziw/aDbBMYBWYhaZmFpGwWkjII20xi3uaHzBC2vETz1tlANgeQrSaxrFUJWXgB
 I/sqRpHU0uLc9NxiQ73ixNzi0rx0veT83E2MwHjcduzn5h2MlzYGH2IU4GBU4uGN+Lw+Tog1
 say4MvcQowQHs5IIr6LZhjgh3pTEyqrUovz4otKc1OJDjKZAP09klhJNzgemirySeENTQ3ML
 S0NzY3NjMwslcd4OgYMxQgLpiSWp2ampBalFMH1MHJxSDYxxj9smOv085MD9XNv52g2+E0XL
 GLh38a14PENn1n3TtSsPVZaZz1NmXKH24es8u32rtcKKb7/mM0t533u4/vHi5883vki5+O9U
 5yM/7gNrmx4uzGlodpQ4uVTV1nmTzXuR0yfO/8zz4+oJsl2zO7ym7vYiY59JLM0+J7+nnJ5y
 3qz/qnRW79p0JZbijERDLeai4kQAyk0Z0d0CAAA=
X-CMS-MailID: 20200504183111eucas1p259980236ac30abdb2e64f49be357c952
X-Msg-Generator: CA
X-RootMTR: 20200427095759eucas1p146d501188af3d1215707e664672076bf
X-EPHeader: CA
CMS-TYPE: 201P
X-CMS-RootMailID: 20200427095759eucas1p146d501188af3d1215707e664672076bf
References: <4816966.qqrk5fENW1@thomas>
 <20200427095737.11082-1-i.dyukov@samsung.com>
 <CGME20200427095759eucas1p146d501188af3d1215707e664672076bf@eucas1p1.samsung.com>
 <20200427095737.11082-6-i.dyukov@samsung.com>
 <33f1d60f-2c31-5449-7e52-80951065ee9b@solarflare.com>
 <bc9a1838-d716-88a8-871c-4fe22d3aa76f@samsung.com>
 <aec889d6-3886-8797-467c-328e67ff943a@solarflare.com>
 <313dfabf-1e6c-b0a2-cde4-b19d0d4dbc84@samsung.com>
 <8d47d629-8008-f75b-b906-7945f2462d97@solarflare.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Content-Filtered-By: Mailman/MimeDel 2.1.15
Subject: Re: [dpdk-dev] [PATCH v1 5/6] doc: update sample app with unknown
 speed
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

04.05.2020 18:54, Andrew Rybchenko пишет:
> On 5/4/20 6:46 PM, Ivan Dyukov wrote:
>> 03.05.2020 16:57, Andrew Rybchenko пишет:
>>> On 5/2/20 10:35 PM, Ivan Dyukov wrote:
>>>> 01.05.2020 16:28, Andrew Rybchenko пишет:
>>>>> On 4/27/20 12:57 PM, Ivan Dyukov wrote:
>>>>>> Signed-off-by: Ivan Dyukov <i.dyukov@samsung.com>
>>>>>> ---
>>>>>>     doc/guides/sample_app_ug/link_status_intr.rst | 3 ++-
>>>>>>     1 file changed, 2 insertions(+), 1 deletion(-)
>>>>>>
>>>>>> diff --git a/doc/guides/sample_app_ug/link_status_intr.rst
>>>>>> b/doc/guides/sample_app_ug/link_status_intr.rst
>>>>>> index 5283be8b7..6ebc707b7 100644
>>>>>> --- a/doc/guides/sample_app_ug/link_status_intr.rst
>>>>>> +++ b/doc/guides/sample_app_ug/link_status_intr.rst
>>>>>> @@ -177,7 +177,8 @@ An example callback function that has been
>>>>>> written as indicated below.
>>>>>>                 printf("Failed to get port %d link status: %s\n\n",
>>>>>>                        port_id, rte_strerror(-ret));
>>>>>>             } else if (link.link_status) {
>>>>>> -            printf("Port %d Link Up - speed %u Mbps - %s\n\n",
>>>>>> port_id, (unsigned)link.link_speed,
>>>>>> +            printf("Port %d Link Up - speed %u%s - %s\n\n", port_id,
>>>>>> (unsigned)link.link_speed,
>>>>>> +                  (link.link_speed == UINT32_MAX) ? ("(UNKNOWN)") :
>>>>>> (" Mbps"),
>>>>>>                       (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
>>>>>> ("full-duplex") : ("half-duplex"));
>>>>>>             } else
>>>>>>                 printf("Port %d Link Down\n\n", port_id);
>>>>>>
>>>>> I think that 0 looks nicer than UINT32_MAX when printed as integer
>>>>> keeping in mind that it is unknown.
>>>>>
>>>> zero will mislead developers about real value of the link_speed.
>>>> therefore we should print real value of the speed or print nothing. e.g.
>>>>
>>>>       if (link.link_speed == UINT32_MAX)
>>>>
>>>>            printf("Port %d Link Up - speed UNKNOWN - %s\n\n", port_id,
>>>>                       (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
>>>> ("full-duplex") : ("half-duplex"));
>>>>       else
>>>>
>>>>            printf("Port %d Link Up - speed %u Mbps - %s\n\n", port_id,
>>>> link.link_speed,
>>>>
>>>>                        (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
>>>> ("full-duplex") : ("half-duplex"));
>>> I'm not sure about 0 to be misleading, but it could be.
>>> Above definitely will look better in stdout.
>>> The only problem is code duplication in many-many places.
>>> May be add simple function in ethdev to do it and use it in
>>> all examples?
>> Also we can introduce new printf specifier using
>> register_printf_specifier function or even rewrite %u which will print
>> UNKNOWN in case of
>> UINT32_MAX.
> True, but it is too libc-specific as far as I know.

Yep, it has portability issues. It's GNU C extension. https://www.gnu.org/software/libc/manual/html_node/Customizing-Printf.html

>
>>> Please, wait more feedback before doing it.
>>>
>>>
>