Re: Fighting out-of-order reception with RPS?

2015-07-14 Thread Oliver Hartkopp
On 13.07.2015 06:57, Eric Dumazet wrote: On Sun, 2015-07-12 at 21:15 +0200, Oliver Hartkopp wrote: E.g. with skb_set_hash(skb, dev-ifindex, PKT_HASH_TYPE_L2); and echo f /sys/class/net/can0/queues/rx-0/rps_cpus I get properly ordered CAN frames - even with netif_rx()

Re: Fighting out-of-order reception with RPS?

2015-07-14 Thread David Miller
From: Tom Herbert t...@herbertland.com Date: Tue, 14 Jul 2015 11:02:16 -0700 then implement NAPI for CAN drivers as has been suggested now by three very experienced developers. This solves the your OOO problem and moves drivers to NAPI which is the greatly preferred interface. +1 +1 +1 --

Re: Fighting out-of-order reception with RPS?

2015-07-14 Thread Oliver Hartkopp
On 14.07.2015 21:03, David Miller wrote: From: Tom Herbert t...@herbertland.com Date: Tue, 14 Jul 2015 11:02:16 -0700 then implement NAPI for CAN drivers as has been suggested now by three very experienced developers. This solves the your OOO problem and moves drivers to NAPI which is the

Re: Fighting out-of-order reception with RPS?

2015-07-14 Thread Tom Herbert
On Tue, Jul 14, 2015 at 10:09 AM, Oliver Hartkopp socket...@hartkopp.net wrote: On 13.07.2015 06:57, Eric Dumazet wrote: On Sun, 2015-07-12 at 21:15 +0200, Oliver Hartkopp wrote: E.g. with skb_set_hash(skb, dev-ifindex, PKT_HASH_TYPE_L2); and echo f

Re: Fighting out-of-order reception with RPS?

2015-07-13 Thread Tom Herbert
On Sun, Jul 12, 2015 at 12:15 PM, Oliver Hartkopp socket...@hartkopp.net wrote: Hello Eric, On 07/11/2015 06:35 AM, Eric Dumazet wrote: On Fri, 2015-07-10 at 22:36 +0200, Oliver Hartkopp wrote: Hm. Doesn't sound like a good solution when there's a difference between NAPI and non-NAPI

Re: Fighting out-of-order reception with RPS?

2015-07-12 Thread David Miller
From: Oliver Hartkopp socket...@hartkopp.net Date: Sun, 12 Jul 2015 21:15:36 +0200 Just some remarks about CAN and CAN frames as you suggest GRO which is completely pointless for CAN. GRO may be pointless for CAN, but NAPI _definitely_ is useful for every single network device, period. So you

Re: Fighting out-of-order reception with RPS?

2015-07-12 Thread Oliver Hartkopp
Hello Eric, On 07/11/2015 06:35 AM, Eric Dumazet wrote: On Fri, 2015-07-10 at 22:36 +0200, Oliver Hartkopp wrote: Hm. Doesn't sound like a good solution when there's a difference between NAPI and non-NAPI drivers in matters of OOO, right? Isn't OOO a problem for you ? Then you either have

Re: Fighting out-of-order reception with RPS?

2015-07-12 Thread Eric Dumazet
On Sun, 2015-07-12 at 21:15 +0200, Oliver Hartkopp wrote: E.g. with skb_set_hash(skb, dev-ifindex, PKT_HASH_TYPE_L2); and echo f /sys/class/net/can0/queues/rx-0/rps_cpus I get properly ordered CAN frames - even with netif_rx() processed skbs. I just want to have this

Re: Fighting out-of-order reception with RPS?

2015-07-11 Thread Eric Dumazet
On Fri, 2015-07-10 at 22:36 +0200, Oliver Hartkopp wrote: On 07/10/2015 04:48 AM, Tom Herbert wrote: On Wed, Jul 8, 2015 at 10:55 PM, Oliver Hartkopp socket...@hartkopp.net wrote: Both drivers do not use NAPI. The just follow the way interrupt - alloc_skb() - fill skb - netif_rx(skb)

Re: Fighting out-of-order reception with RPS?

2015-07-10 Thread Oliver Hartkopp
On 07/10/2015 04:48 AM, Tom Herbert wrote: On Wed, Jul 8, 2015 at 10:55 PM, Oliver Hartkopp socket...@hartkopp.net wrote: Both drivers do not use NAPI. The just follow the way interrupt - alloc_skb() - fill skb - netif_rx(skb) I'm usually testing with the USB adapters as the PCIe setup is

Re: Fighting out-of-order reception with RPS?

2015-07-09 Thread Tom Herbert
On Wed, Jul 8, 2015 at 10:55 PM, Oliver Hartkopp socket...@hartkopp.net wrote: On 08.07.2015 23:17, Tom Herbert wrote: On Wed, Jul 8, 2015 at 10:49 AM, Oliver Hartkopp socket...@hartkopp.net wrote: (..) When receiving CAN frames from a specific CAN network interface (e.g. can0) the

Re: Fighting out-of-order reception with RPS?

2015-07-09 Thread Holger Schurig
and has to be done by hand depending on where the CAN interfaces are attached to the system. No ... udev rules rock! :-) -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at

Re: Fighting out-of-order reception with RPS?

2015-07-09 Thread Oliver Hartkopp
On 09.07.2015 08:34, Holger Schurig wrote: and has to be done by hand depending on where the CAN interfaces are attached to the system. No ... udev rules rock! :-) Yeah. But it can not be the approach to fix a known problem in the kernel by urging people to make workarounds in

Re: Fighting out-of-order reception with RPS?

2015-07-08 Thread Tom Herbert
On Wed, Jul 8, 2015 at 10:49 AM, Oliver Hartkopp socket...@hartkopp.net wrote: I'm picking up the request 'Setting RPS affinities from network driver' from Sunil Kovvuri http://marc.info/?t=14242402351r=1w=2 as I assume to have the same issue here. When receiving CAN frames from a

Re: Fighting out-of-order reception with RPS?

2015-07-08 Thread Oliver Hartkopp
On 08.07.2015 23:17, Tom Herbert wrote: On Wed, Jul 8, 2015 at 10:49 AM, Oliver Hartkopp socket...@hartkopp.net wrote: (..) When receiving CAN frames from a specific CAN network interface (e.g. can0) the frames are sporadically out-of-order on SMP systems like my Core i7 laptop with 4 CPUs.