Messages in this thread | | | Date | Wed, 10 Apr 2024 15:01:32 +0200 | Subject | Re: [PATCH net-next v9 7/9] libeth: add Rx buffer management | From | Przemek Kitszel <> |
| |
On 4/10/24 13:49, Alexander Lobakin wrote: > From: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Date: Tue, 9 Apr 2024 12:58:33 +0200 > >> On 4/8/24 11:09, Alexander Lobakin wrote: >>> From: Przemek Kitszel <przemyslaw.kitszel@intel.com> >>> 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`
| |