On 4/10/24 15:01, Alexander Lobakin wrote:
From: Przemek Kitszel <przemyslaw.kitszel@xxxxxxxxx>
Date: Wed, 10 Apr 2024 15:01:32 +0200
On 4/10/24 13:49, Alexander Lobakin wrote:
From: Przemek Kitszel <przemyslaw.kitszel@xxxxxxxxx>
Date: Tue, 9 Apr 2024 12:58:33 +0200
On 4/8/24 11:09, Alexander Lobakin wrote:
From: Przemek Kitszel <przemyslaw.kitszel@xxxxxxxxx>
Date: Fri, 5 Apr 2024 12:32:55 +0200
On 4/4/24 17:44, Alexander Lobakin wrote:
Add a couple intuitive helpers to hide Rx buffer implementation
details
[...]
+struct libeth_fqe {
+ struct page *page;
+ u32 offset;
+ u32 truesize;
+} __aligned_largest;
+
+/**
+ * struct libeth_fq - structure representing a buffer queue
+ * @fp: hotpath part of the structure
+ * @pp: &page_pool for buffer management
+ * @fqes: array of Rx buffers
+ * @truesize: size to allocate per buffer, w/overhead
+ * @count: number of descriptors/buffers the queue has
+ * @buf_len: HW-writeable length per each buffer
+ * @nid: ID of the closest NUMA node with memory
+ */
+struct libeth_fq {
+ struct_group_tagged(libeth_fq_fp, fp,
+ struct page_pool *pp;
+ struct libeth_fqe *fqes;
+
+ u32 truesize;
+ u32 count;
+ );
+
+ /* Cold fields */
+ u32 buf_len;
+ int nid;
+};
[...]
Could you please unpack the meaning of `fq` and `fqe` acronyms here?
Rx:
RQ -- receive queue, on which you get Rx DMA complete descriptors
FQ -- fill queue, the one you fill with free buffers
FQE -- fill queue element, i.e. smth like "iavf_rx_buffer" or
whatever
Tx:
SQ -- send queue, the one you fill with buffers to transmit
SQE -- send queue element, i.e. "iavf_tx_buffer"
CQ -- completion queue, on which you get Tx DMA complete descriptors
XDPSQ, XSkRQ etc. -- same as above, but for XDP / XSk
I know that rxq, txq, bufq, complq is more common since it's been used
for years, but I like these "new" ones more :>
Thank you, that sounds right. If you happen to sent v10, a bit of code
comment with this info would be useful ;)
The current kdoc in front of each struct and function declaration is not
enough? :D
Thanks,
Olek
I've asked my initial question just after reading it thrice, without
your reply `FQE` was as meaningful as `ABC`
In the commit:
+ * struct libeth_fqe - structure representing an Rx buffer
:z
or you want me to expand FQ, FQE etc. abbrevs in the kdoc?
yes, please very much!
could be as an additional comment at the top of the file too,
with that you could reuse the naming convention later in the file
Thanks,
Olek