From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
by inbox.dpdk.org (Postfix) with ESMTP id 6CC3B45D39;
Tue, 19 Nov 2024 00:35:10 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
by mails.dpdk.org (Postfix) with ESMTP id 0F3F44279A;
Tue, 19 Nov 2024 00:35:10 +0100 (CET)
Received: from inbox.dpdk.org (inbox.dpdk.org [95.142.172.178])
by mails.dpdk.org (Postfix) with ESMTP id B96D9402D5
for ; Tue, 19 Nov 2024 00:35:07 +0100 (CET)
Received: by inbox.dpdk.org (Postfix, from userid 33)
id 9FE2F45D3A; Tue, 19 Nov 2024 00:35:07 +0100 (CET)
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [DPDK/DTS Bug 1584] dts: rxq info dataclass fields were dropped
Date: Mon, 18 Nov 2024 23:35:07 +0000
X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: DPDK
X-Bugzilla-Component: DTS
X-Bugzilla-Version: unspecified
X-Bugzilla-Keywords:
X-Bugzilla-Severity: minor
X-Bugzilla-Who: probb@iol.unh.edu
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: Normal
X-Bugzilla-Assigned-To: dev@dpdk.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform
op_sys bug_status bug_severity priority component assigned_to reporter cc
target_milestone
Message-ID:
Content-Type: multipart/alternative; boundary=17319729070.7790e1.3262565
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://bugs.dpdk.org/
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All
MIME-Version: 1.0
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dev-bounces@dpdk.org
--17319729070.7790e1.3262565
Date: Tue, 19 Nov 2024 00:35:07 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.dpdk.org/
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All
https://bugs.dpdk.org/show_bug.cgi?id=3D1584
Bug ID: 1584
Summary: dts: rxq info dataclass fields were dropped
Product: DPDK
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: minor
Priority: Normal
Component: DTS
Assignee: dev@dpdk.org
Reporter: probb@iol.unh.edu
CC: juraj.linkes@pantheon.tech, probb@iol.unh.edu
Target Milestone: ---
https://patchwork.dpdk.org/project/dpdk/patch/20241105165830.15881-2-dmarx@=
iol.unh.edu/
In the series above, any fields which were previously a part of TestPmdRxqI=
nfo
dataclass, and were not needed for our current testsuites, were dropped whe=
n we
shifted to a rxqinfo base class and 2 child classes for txq and rxq
respectively.=20
I can see why this was done, but it is worth discussing at an upcoming meet=
ing
whether we should continue with this practice in other cases, or attempt to
provide complete structures for testpmd output, even before they're needed =
for
a testsuite. In my view it is simpler to just support all fields possible in
the given dataclass instead of add them in piecemeal as testsuites are adde=
d.
For context, the original dataclass, which represents all the values return=
ed
from "show rxq info ":
-------------------------------
@dataclass
class TestPmdRxqInfo(TextParser):
"""Representation of testpmd's ``show rxq info ``
command.
References:
testpmd command function: ``app/test-pmd/cmdline.c:cmd_showqueue()``
testpmd display function:
``app/test-pmd/config.c:rx_queue_infos_display()``
"""
#:
port_id: int =3D field(metadata=3DTextParser.find_int(r"Infos for port =
(\d+)\b
?, RX queue \d+\b"))
#:
queue_id: int =3D field(metadata=3DTextParser.find_int(r"Infos for port=
\d+\b
?, RX queue (\d+)\b"))
#: Mempool used by that queue
mempool: str =3D field(metadata=3DTextParser.find(r"Mempool: ([^\r\n]+)=
"))
#: Ring prefetch threshold
rx_prefetch_threshold: int =3D field(
metadata=3DTextParser.find_int(r"RX prefetch threshold: (\d+)\b")
)
#: Ring host threshold
rx_host_threshold: int =3D field(metadata=3DTextParser.find_int(r"RX ho=
st
threshold: (\d+)\b"))
#: Ring writeback threshold
rx_writeback_threshold: int =3D field(
metadata=3DTextParser.find_int(r"RX writeback threshold: (\d+)\b")
)
#: Drives the freeing of Rx descriptors
rx_free_threshold: int =3D field(metadata=3DTextParser.find_int(r"RX fr=
ee
threshold: (\d+)\b"))
#: Drop packets if no descriptors are available
rx_drop_packets: bool =3D field(metadata=3DTextParser.find(r"RX drop pa=
ckets:
on"))
#: Do not start queue with rte_eth_dev_start()
rx_deferred_start: bool =3D field(metadata=3DTextParser.find(r"RX defer=
red
start: on"))
#: Scattered packets Rx enabled
rx_scattered_packets: bool =3D field(metadata=3DTextParser.find(r"RX sc=
attered
packets: on"))
#: The state of the queue
rx_queue_state: str =3D field(metadata=3DRxQueueState.make_parser())
#: Configured number of RXDs
number_of_rxds: int =3D field(metadata=3DTextParser.find_int(r"Number o=
f RXDs:
(\d+)\b"))
#: Hardware receive buffer size
rx_buffer_size: int | None =3D field(
default=3DNone, metadata=3DTextParser.find_int(r"RX buffer size: (\=
d+)\b")
)
#: Burst mode information
burst_mode: str | None =3D field(
default=3DNone, metadata=3DTextParser.find(r"Burst mode: ([^\r\n]+)=
")
)
--=20
You are receiving this mail because:
You are the assignee for the bug.=
--17319729070.7790e1.3262565
Date: Tue, 19 Nov 2024 00:35:07 +0100
MIME-Version: 1.0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.dpdk.org/
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All
https=
://patchwork.dpdk.org/project/dpdk/patch/20241105165830.15881-2-dmarx@i=
ol.unh.edu/
In the series above, any fields which were previously a part of TestPmdRxqI=
nfo
dataclass, and were not needed for our current testsuites, were dropped whe=
n we
shifted to a rxqinfo base class and 2 child classes for txq and rxq
respectively.=20
I can see why this was done, but it is worth discussing at an upcoming meet=
ing
whether we should continue with this practice in other cases, or attempt to
provide complete structures for testpmd output, even before they're needed =
for
a testsuite. In my view it is simpler to just support all fields possible in
the given dataclass instead of add them in piecemeal as testsuites are adde=
d.
For context, the original dataclass, which represents all the values return=
ed
from "show rxq info <port_id> <queue_id>":
-------------------------------
@dataclass
class TestPmdRxqInfo(TextParser):
"""Representation of testpmd's ``show rxq info <port_=
id> <queue_id>``
command.
References:
testpmd command function: ``app/test-pmd/cmdline.c:cmd_showqueue()``
testpmd display function:
``app/test-pmd/config.c:rx_queue_infos_display()``
"""
#:
port_id: int =3D field(metadata=3DTextParser.find_int(r"Infos for =
port (\d+)\b
?, RX queue \d+\b"))
#:
queue_id: int =3D field(metadata=3DTextParser.find_int(r"Infos for=
port \d+\b
?, RX queue (\d+)\b"))
#: Mempool used by that queue
mempool: str =3D field(metadata=3DTextParser.find(r"Mempool: ([^\r=
\n]+)"))
#: Ring prefetch threshold
rx_prefetch_threshold: int =3D field(
metadata=3DTextParser.find_int(r"RX prefetch threshold: (\d+)\=
b")
)
#: Ring host threshold
rx_host_threshold: int =3D field(metadata=3DTextParser.find_int(r"=
RX host
threshold: (\d+)\b"))
#: Ring writeback threshold
rx_writeback_threshold: int =3D field(
metadata=3DTextParser.find_int(r"RX writeback threshold: (\d+)=
\b")
)
#: Drives the freeing of Rx descriptors
rx_free_threshold: int =3D field(metadata=3DTextParser.find_int(r"=
RX free
threshold: (\d+)\b"))
#: Drop packets if no descriptors are available
rx_drop_packets: bool =3D field(metadata=3DTextParser.find(r"RX dr=
op packets:
on"))
#: Do not start queue with rte_eth_dev_start()
rx_deferred_start: bool =3D field(metadata=3DTextParser.find(r"RX =
deferred
start: on"))
#: Scattered packets Rx enabled
rx_scattered_packets: bool =3D field(metadata=3DTextParser.find(r"=
RX scattered
packets: on"))
#: The state of the queue
rx_queue_state: str =3D field(metadata=3DRxQueueState.make_parser())
#: Configured number of RXDs
number_of_rxds: int =3D field(metadata=3DTextParser.find_int(r"Num=
ber of RXDs:
(\d+)\b"))
#: Hardware receive buffer size
rx_buffer_size: int | None =3D field(
default=3DNone, metadata=3DTextParser.find_int(r"RX buffer siz=
e: (\d+)\b")
)
#: Burst mode information
burst_mode: str | None =3D field(
default=3DNone, metadata=3DTextParser.find(r"Burst mode: ([^\r=
\n]+)")
)