All of lore.kernel.org
 help / color / mirror / Atom feed
* [pbhagavatula@caviumnetworks.com: Re: [PATCH 2/4] eventdev: add caps API and PMD callbacks for eth Tx adapter]
@ 2018-07-16 11:33 Pavan Nikhilesh
  2018-07-16 14:17 ` Rao, Nikhil
  0 siblings, 1 reply; 3+ messages in thread
From: Pavan Nikhilesh @ 2018-07-16 11:33 UTC (permalink / raw)
  To: nikhil.rao, jkollanukkaran, olivier.matz; +Cc: dev

Hi Nikhil,

On Mon, Jul 16, 2018 at 11:25:45AM +0530, Rao, Nikhil wrote:
> On 7/10/2018 4:26 PM, Pavan Nikhilesh wrote:
> > +int __rte_experimental
> > +rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
> > +{
> > The caps get API needs to be similar to rx adapter caps get i.e. it needs to
> > have the eth_port_id as a parameter so that the underlying event dev driver can
> > expose INTERNAL PORT capability as not all ethdev drivers have the capability
> > to interact with the eventdevs internal port.
> >
> > rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
> >                       uint32_t *caps);
> Hi Pavan,
>
> Is querying the INTERNAL PORT on a per ethdev basis useful to the
> application ?

If an application chooses to use 2 ports one with INTERNAL PORT capability and
one _without_ it then it would be useful to have per ethdev based
classification similar to Rx adapter. The application can classify events based
on event type RTE_EVENT_TYPE_ETHDEV & RTE_EVENT_TYPE_ETH_RX_ADAPTER to
segregate between INTERNAL & NON-INTERNAL port at ingress side and enqueue it
to either rte_event_eth_tx_adapter_enqueue or to the SINGLE link queue
respectively.

Also, I dont think eventdev should iterate over all probed ethdevs and give
the overall caps as an application might want only a specific ethdev to be
connected to the event tx adapter.

>
> For e.g., the txa_init() function in the adapter implementation can only
> decide to use the internal port if it is supported for all ethdevs,
> hence I left that upto the eventdev PMD to decide - i.e., it could
> iterate across txa->dev_count eth devices to make that determination.
> For caps in general, I agree it makes sense to pass in the ethdev, but
> the INTERNAL PORT didn't seem useful on a per ethdev basis.
>
> We could also replace caps_get with something like a
> rte_event_eth_tx_adapter_internal_port_check(dev_id) and add a per
> ethdev caps if needed later.
>
> Thanks,
> Nikhil

Thanks,
Pavan.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [pbhagavatula@caviumnetworks.com: Re: [PATCH 2/4] eventdev: add caps API and PMD callbacks for eth Tx adapter]
  2018-07-16 11:33 [pbhagavatula@caviumnetworks.com: Re: [PATCH 2/4] eventdev: add caps API and PMD callbacks for eth Tx adapter] Pavan Nikhilesh
@ 2018-07-16 14:17 ` Rao, Nikhil
  2018-07-16 14:27   ` [PATCH 2/4] eventdev: add caps API and PMD callbacks for eth Tx adapter Pavan Nikhilesh
  0 siblings, 1 reply; 3+ messages in thread
From: Rao, Nikhil @ 2018-07-16 14:17 UTC (permalink / raw)
  To: Pavan Nikhilesh, jkollanukkaran, olivier.matz; +Cc: dev


> -----Original Message-----
> From: Pavan Nikhilesh [mailto:pbhagavatula@caviumnetworks.com]
> Sent: Monday, July 16, 2018 5:03 PM
> To: Rao, Nikhil <nikhil.rao@intel.com>;
> jkollanukkaran@caviumnetworks.com; olivier.matz@6wind.com
> Cc: dev@dpdk.org
> Subject: [pbhagavatula@caviumnetworks.com: Re: [dpdk-dev] [PATCH 2/4]
> eventdev: add caps API and PMD callbacks for eth Tx adapter]
> 
> Hi Nikhil,
> 
> On Mon, Jul 16, 2018 at 11:25:45AM +0530, Rao, Nikhil wrote:
> > On 7/10/2018 4:26 PM, Pavan Nikhilesh wrote:
> > > +int __rte_experimental
> > > +rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint32_t *caps) {
> > > The caps get API needs to be similar to rx adapter caps get i.e. it
> > > needs to have the eth_port_id as a parameter so that the underlying
> > > event dev driver can expose INTERNAL PORT capability as not all
> > > ethdev drivers have the capability to interact with the eventdevs
> internal port.
> > >
> > > rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t
> eth_port_id,
> > >                       uint32_t *caps);
> > Hi Pavan,
> >
> > Is querying the INTERNAL PORT on a per ethdev basis useful to the
> > application ?
> 
> If an application chooses to use 2 ports one with INTERNAL PORT capability
> and one _without_ it then it would be useful to have per ethdev based
> classification similar to Rx adapter. The application can classify events based
> on event type RTE_EVENT_TYPE_ETHDEV &
> RTE_EVENT_TYPE_ETH_RX_ADAPTER to segregate between INTERNAL &
> NON-INTERNAL port at ingress side and enqueue it to either
> rte_event_eth_tx_adapter_enqueue or to the SINGLE link queue
> respectively.
> 
The current tx adapter is very similar to how the eventdev pipeline app decides between using the generic_tx v/s worker_tx, I guess what you are suggesting is using the 2 concurrently. I am fine with this, 
Would you always assume INTERNAL PORT on the Rx side to deduce INTERNAL PORT on the tx side ? Just curious if that was just an example, in the general case, you could have packets ingressing from an INTERNAL port and egressing on a port that is !INTERNAL ?

> Also, I dont think eventdev should iterate over all probed ethdevs and give
> the overall caps as an application might want only a specific ethdev to be
> connected to the event tx adapter.
> 
Agreed. The current adapter only supports either the generic_tx or the worker_tx models and selects either at the earliest point it is feasible to, 

I will update the patch series for  caps_get()

Thanks,
Nikhil

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 2/4] eventdev: add caps API and PMD callbacks for eth Tx adapter
  2018-07-16 14:17 ` Rao, Nikhil
@ 2018-07-16 14:27   ` Pavan Nikhilesh
  0 siblings, 0 replies; 3+ messages in thread
From: Pavan Nikhilesh @ 2018-07-16 14:27 UTC (permalink / raw)
  To: Rao, Nikhil, jkollanukkaran, olivier.matz; +Cc: dev

On Mon, Jul 16, 2018 at 02:17:40PM +0000, Rao, Nikhil wrote:
>
> > -----Original Message-----
> > From: Pavan Nikhilesh [mailto:pbhagavatula@caviumnetworks.com]
> > Sent: Monday, July 16, 2018 5:03 PM
> > To: Rao, Nikhil <nikhil.rao@intel.com>;
> > jkollanukkaran@caviumnetworks.com; olivier.matz@6wind.com
> > Cc: dev@dpdk.org
> > Subject: [pbhagavatula@caviumnetworks.com: Re: [dpdk-dev] [PATCH 2/4]
> > eventdev: add caps API and PMD callbacks for eth Tx adapter]
> >
> > Hi Nikhil,
> >
> > On Mon, Jul 16, 2018 at 11:25:45AM +0530, Rao, Nikhil wrote:
> > > On 7/10/2018 4:26 PM, Pavan Nikhilesh wrote:
> > > > +int __rte_experimental
> > > > +rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint32_t *caps) {
> > > > The caps get API needs to be similar to rx adapter caps get i.e. it
> > > > needs to have the eth_port_id as a parameter so that the underlying
> > > > event dev driver can expose INTERNAL PORT capability as not all
> > > > ethdev drivers have the capability to interact with the eventdevs
> > internal port.
> > > >
> > > > rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t
> > eth_port_id,
> > > >                       uint32_t *caps);
> > > Hi Pavan,
> > >
> > > Is querying the INTERNAL PORT on a per ethdev basis useful to the
> > > application ?
> >
> > If an application chooses to use 2 ports one with INTERNAL PORT capability
> > and one _without_ it then it would be useful to have per ethdev based
> > classification similar to Rx adapter. The application can classify events based
> > on event type RTE_EVENT_TYPE_ETHDEV &
> > RTE_EVENT_TYPE_ETH_RX_ADAPTER to segregate between INTERNAL &
> > NON-INTERNAL port at ingress side and enqueue it to either
> > rte_event_eth_tx_adapter_enqueue or to the SINGLE link queue
> > respectively.
> >
> The current tx adapter is very similar to how the eventdev pipeline app decides between using the generic_tx v/s worker_tx, I guess what you are suggesting is using the 2 concurrently. I am fine with this,
> Would you always assume INTERNAL PORT on the Rx side to deduce INTERNAL PORT on the tx side ? Just curious if that was just an example, in the general case, you could have packets ingressing from an INTERNAL port and egressing on a port that is !INTERNAL ?

I was just giving an example :). The application would be free to model the
pipeline accordingly based on event type and caps.

>
> > Also, I dont think eventdev should iterate over all probed ethdevs and give
> > the overall caps as an application might want only a specific ethdev to be
> > connected to the event tx adapter.
> >
> Agreed. The current adapter only supports either the generic_tx or the worker_tx models and selects either at the earliest point it is feasible to,
>
> I will update the patch series for  caps_get()
>
> Thanks,
> Nikhil

Thanks,
Pavan

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-07-16 14:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-16 11:33 [pbhagavatula@caviumnetworks.com: Re: [PATCH 2/4] eventdev: add caps API and PMD callbacks for eth Tx adapter] Pavan Nikhilesh
2018-07-16 14:17 ` Rao, Nikhil
2018-07-16 14:27   ` [PATCH 2/4] eventdev: add caps API and PMD callbacks for eth Tx adapter Pavan Nikhilesh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.