[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<SJ0PR18MB5216EAAF8FE113CB96FC84C4DBC52@SJ0PR18MB5216.namprd18.prod.outlook.com>
Date: Wed, 19 Feb 2025 09:47:09 +0000
From: Suman Ghosh <sumang@...vell.com>
To: Maciej Fijalkowski <maciej.fijalkowski@...el.com>
CC: "horms@...nel.org" <horms@...nel.org>,
Sunil Kovvuri Goutham
<sgoutham@...vell.com>,
Geethasowjanya Akula <gakula@...vell.com>,
Subbaraya
Sundeep Bhatta <sbhatta@...vell.com>,
Hariprasad Kelam <hkelam@...vell.com>,
"davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com"
<edumazet@...gle.com>,
"kuba@...nel.org" <kuba@...nel.org>,
"pabeni@...hat.com" <pabeni@...hat.com>,
"netdev@...r.kernel.org"
<netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>,
Linu Cherian <lcherian@...vell.com>, Jerin
Jacob <jerinj@...vell.com>,
"john.fastabend@...il.com"
<john.fastabend@...il.com>,
Bharat Bhushan <bbhushan2@...vell.com>,
"hawk@...nel.org" <hawk@...nel.org>,
"andrew+netdev@...n.ch"
<andrew+netdev@...n.ch>,
"ast@...nel.org" <ast@...nel.org>,
"daniel@...earbox.net" <daniel@...earbox.net>,
"bpf@...r.kernel.org"
<bpf@...r.kernel.org>,
"larysa.zaremba@...el.com" <larysa.zaremba@...el.com>
Subject: RE: [EXTERNAL] Re: [net-next PATCH v6 6/6] octeontx2-pf: AF_XDP zero
copy transmit support
>> +void otx2_zc_napi_handler(struct otx2_nic *pfvf, struct xsk_buff_pool
>*pool,
>> + int queue, int budget)
>> +{
>> + struct xdp_desc *xdp_desc = pool->tx_descs;
>> + int err, i, work_done = 0, batch;
>> +
>> + budget = min(budget, otx2_read_free_sqe(pfvf, queue));
>> + batch = xsk_tx_peek_release_desc_batch(pool, budget);
>> + if (!batch)
>> + return;
>> +
>> + for (i = 0; i < batch; i++) {
>> + dma_addr_t dma_addr;
>> +
>> + dma_addr = xsk_buff_raw_get_dma(pool, xdp_desc[i].addr);
>> + err = otx2_xdp_sq_append_pkt(pfvf, NULL, dma_addr,
>xdp_desc[i].len,
>> + queue, OTX2_AF_XDP_FRAME);
>> + if (!err) {
>> + netdev_err(pfvf->netdev, "AF_XDP: Unable to transfer
>packet err%d\n", err);
>> + break;
>> + }
>> + work_done++;
>> + }
>> +
>> + if (work_done)
>> + xsk_tx_release(pool);
>
>this is broken actually. the batch api you're using above is doing tx
>release internally for you.
>
>Sorry for not catching this earlier but i was never CCed in this series.
[Suman] Thanks for the comment, I will push a follow-up patch.
Powered by blists - more mailing lists