Re: [PATCH v6 net-next 15/19] ionic: Add Tx and Rx handling

2019-08-30 Thread Shannon Nelson
On 8/29/19 4:18 PM, Jakub Kicinski wrote: On Thu, 29 Aug 2019 11:27:16 -0700, Shannon Nelson wrote: +netdev_tx_t ionic_start_xmit(struct sk_buff *skb, struct net_device *netdev) +{ + u16 queue_index = skb_get_queue_mapping(skb); + struct ionic_lif *lif = netdev_priv(netdev); +

Re: [PATCH v6 net-next 15/19] ionic: Add Tx and Rx handling

2019-08-30 Thread Jakub Kicinski
On Fri, 30 Aug 2019 14:44:24 -0700, Shannon Nelson wrote: > On 8/29/19 4:33 PM, Jakub Kicinski wrote: > > On Thu, 29 Aug 2019 11:27:16 -0700, Shannon Nelson wrote: > [...] > > There's definitely a function for helping drivers which can't do full > > TSO slice up the packet, but I can't find it

Re: [PATCH v6 net-next 15/19] ionic: Add Tx and Rx handling

2019-08-30 Thread Shannon Nelson
On 8/29/19 4:33 PM, Jakub Kicinski wrote: On Thu, 29 Aug 2019 11:27:16 -0700, Shannon Nelson wrote: +static int ionic_tx_tso(struct ionic_queue *q, struct sk_buff *skb) +{ + struct ionic_tx_stats *stats = q_to_tx_stats(q); + struct ionic_desc_info *abort = q->head; + struct dev

Re: [PATCH v6 net-next 15/19] ionic: Add Tx and Rx handling

2019-08-29 Thread Jakub Kicinski
On Thu, 29 Aug 2019 11:27:16 -0700, Shannon Nelson wrote: > +static int ionic_tx_tso(struct ionic_queue *q, struct sk_buff *skb) > +{ > + struct ionic_tx_stats *stats = q_to_tx_stats(q); > + struct ionic_desc_info *abort = q->head; > + struct device *dev = q->lif->ionic->dev; > + st

Re: [PATCH v6 net-next 15/19] ionic: Add Tx and Rx handling

2019-08-29 Thread Jakub Kicinski
On Thu, 29 Aug 2019 11:27:16 -0700, Shannon Nelson wrote: > +netdev_tx_t ionic_start_xmit(struct sk_buff *skb, struct net_device *netdev) > +{ > + u16 queue_index = skb_get_queue_mapping(skb); > + struct ionic_lif *lif = netdev_priv(netdev); > + struct ionic_queue *q; > + int ndescs

[PATCH v6 net-next 15/19] ionic: Add Tx and Rx handling

2019-08-29 Thread Shannon Nelson
Add both the Tx and Rx queue setup and handling. The related stats display comes later. Instead of using the generic napi routines used by the slow-path commands, the Tx and Rx paths are simplified and inlined in one file in order to get better compiler optimizations. Signed-off-by: Shannon Nels