RE: [PATCH net-next v6 02/10] dpaa_eth: add support for DPAA Ethernet
flat view
From: Madalin-Cristian Bucur <madalin.bucur@nxp.com>
Date: 2016-11-07 23:34:21
Also in:
lkml, netdev
From: David Miller [mailto:davem@davemloft.net] Sent: Monday, November 07, 2016 6:40 PM =20 From: Madalin-Cristian Bucur <madalin.bucur@nxp.com> Date: Mon, 7 Nov 2016 16:32:16 +0000 =20quoted
quoted
From: David Miller [mailto:davem@davemloft.net] Sent: Monday, November 07, 2016 5:55 PM From: Madalin-Cristian Bucur <madalin.bucur@nxp.com> Date: Mon, 7 Nov 2016 15:43:26 +0000quoted
quoted
From: David Miller [mailto:davem@davemloft.net] Sent: Thursday, November 03, 2016 9:58 PM Why? By clearing this, you disallow an important fundamental way t=
o
quoted
quoted
quoted
quoted
do performane testing, via pktgen.The Tx path in DPAA requires one to insert a back-pointer to the skb into the Tx buffer. On the Tx confirmation path the back-pointer in the buffer is used to release the skb. If Tx buffer is shared we'd alter the back-pointer and leak/double free skbs. See alsoThen have your software state store an array of SKB pointers, one foreachquoted
quoted
TX ring entry, just like every other driver does.There is no Tx ring in DPAA. Frames are send out on QMan HW queues towards the FMan for Tx and then received back on Tx confirmation queue=
s
quoted
for cleanup. Array traversal would for sure cost more than using the back-pointer. Also, we can now process confirmations on a different core than the one doing Tx, we'd have to keep the arrays percpu and force the Tx conf on the same core. Or add locks.=20 Report back an integer index, like every scsi driver out there which completes tagged queued block I/O operations asynchronously. You can associate the array with a specific TX confirmation queue.
From HW? It only gives you back the buffer start address (plus length, etc)=
. "buff_2_skb()" needs to be solved in SW, expensively using array (lists? As the number of frames in flight can be large/variable) or cheaply with the b= ack pointer. The back-pointer approach has its tradeoffs: no shared skbs, impos= ed non-zero needed_headroom.