Thread (141 messages) 141 messages, 9 authors, 2024-02-17

Re: [dpdk-dev] [PATCH v2 0/6] implement common rte bit operation APIs in PMDs

From: Gavin Hu (Arm Technology China) <hidden>
Date: 2019-10-31 10:40:15

-----Original Message-----
From: Morten Brørup <redacted>
Sent: Wednesday, October 30, 2019 9:02 PM
To: Jerin Jacob <redacted>; Gavin Hu (Arm Technology China)
[off-list ref]
Cc: thomas@monjalon.net; Joyce Kong (Arm Technology China)
[off-list ref]; dev@dpdk.org; nd [off-list ref];
jerinj@marvell.com; stephen@networkplumber.org; Honnappa Nagarahalli
[off-list ref]; ravi1.kumar@amd.com;
rmody@marvell.com; shshaikh@marvell.com; xuanziyang2@huawei.com;
cloud.wangxiaoyun@huawei.com; zhouguoyang@huawei.com;
adrien.mazarguil@6wind.com
Subject: RE: [dpdk-dev] [PATCH v2 0/6] implement common rte bit operation
APIs in PMDs
quoted
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
Sent: Wednesday, October 30, 2019 1:33 PM

On Wed, Oct 30, 2019 at 3:25 PM Gavin Hu (Arm Technology China)
[off-list ref] wrote:
quoted
Hi Thomas,
quoted
-----Original Message-----
From: Thomas Monjalon <redacted>
Sent: Wednesday, October 30, 2019 12:43 AM

23/10/2019 04:54, Joyce Kong:
quoted
There are a lot functions of bit operations scattered in PMDs,
consolidate them into a common API family and applied in different
PMDs to reduce code duplication.
Please, could you look at what Adrien did in the Mellanox PMD?
http://code.dpdk.org/dpdk/latest/source/drivers/net/mlx5/mlx5_utils.h#L28
quoted
The code has less duplication, but it requires a less natural declaration
of variables
quoted
http://code.dpdk.org/dpdk/latest/source/drivers/net/mlx5/mlx5.h#L607
Should we take this way?

IMO, We need to consider the MACRO based scheme only as of the last resort.
I agree.

The EAL library already has an I/O device memory access API, i.e. with
functionality closely related to the proposed I/O device bit operation API:
http://code.dpdk.org/dpdk/latest/source/lib/librte_eal/common/include/gene
ric/rte_io.h

I would prefer a similar approach, and API familiarity would be my strongest
argument.
Yes, this is a more natural way, and engineers are more familiar with the APIs.
We will take this way as more people vote for this.
Thanks Thomas also for your comment, we are inspired by this code, we will add assert() also to guarantee the 'bit' argument is in the valid range.
We used this common API for some PMDs, but not extensively, the reason is we want to finalize the API firstly(with your comments coming) and then propagate later.
/Gavin   

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help