mbox series

[v3,net,0/6] hsr: HSR send/recv fixes

Message ID 20221123095638.2838922-1-bigeasy@linutronix.de (mailing list archive)
Headers show
Series hsr: HSR send/recv fixes | expand

Message

Sebastian Andrzej Siewior Nov. 23, 2022, 9:56 a.m. UTC
I started playing with HSR and run into a problem. Tested latest
upstream -rc and noticed more problems. Now it appears to work.
For testing I have a small three node setup with iperf and ping. While
iperf doesn't complain ping reports missing packets and duplicates.

v2…v3:
- dropped patch #7 was an optimisation.

v1…v2:
- Replaced cmpxchg() from patch #6 with lock because RiscV does not provide
  cmpxchg() for 16bit.
- Added patch #3 which fixes the random crashes I observed on latest rc5 while
  testing.

Sebastian

Comments

Paolo Abeni Nov. 24, 2022, 3:06 p.m. UTC | #1
Hello,

On Wed, 2022-11-23 at 10:56 +0100, Sebastian Andrzej Siewior wrote:
> I started playing with HSR and run into a problem. Tested latest
> upstream -rc and noticed more problems. Now it appears to work.
> For testing I have a small three node setup with iperf and ping. While
> iperf doesn't complain ping reports missing packets and duplicates.

Thank you for all the good work!

I think this series is too invasive for -net at this late point of the
release cycle. Independently from that, even if contains only fixes, is
a so relevant refactor that I personally see it more suited for net-
next.

In any case it looks like you have some testing setup handy, could you
please use it as starting point to add some basic selftests?

Thanks!

Paolo
> 
> v2…v3:
> - dropped patch #7 was an optimisation.
> 
> v1…v2:
> - Replaced cmpxchg() from patch #6 with lock because RiscV does not provide
>   cmpxchg() for 16bit.
> - Added patch #3 which fixes the random crashes I observed on latest rc5 while
>   testing.
> 
> Sebastian
>
Sebastian Andrzej Siewior Nov. 24, 2022, 5:07 p.m. UTC | #2
On 2022-11-24 16:06:15 [+0100], Paolo Abeni wrote:
> Hello,
Hi,

> I think this series is too invasive for -net at this late point of the
> release cycle. Independently from that, even if contains only fixes, is
> a so relevant refactor that I personally see it more suited for net-
> next.

As you wish. The huge patch is the first one basically reverting the
initial change plus its fixup back to pre v5.18 time.
Right now it is not usable here due to the double delete under RCU
which happens randomly but usually within 30min. But it appears I'm the
only one complaining so far ;)

If you want to merge it via next, be my guest. Can you apply it as-it
or do I need to repost it again?

> In any case it looks like you have some testing setup handy, could you
> please use it as starting point to add some basic selftests?

This task might be within my capabilities. I guess you ask for something
that spins a few virtual interfaces and then creates a HSR ring on top
of it.

> Thanks!
> 
> Paolo

Sebastian
Paolo Abeni Nov. 24, 2022, 5:41 p.m. UTC | #3
On Thu, 2022-11-24 at 18:07 +0100, Sebastian Andrzej Siewior wrote:
> On 2022-11-24 16:06:15 [+0100], Paolo Abeni wrote:
> 
> > I think this series is too invasive for -net at this late point of the
> > release cycle. Independently from that, even if contains only fixes, is
> > a so relevant refactor that I personally see it more suited for net-
> > next.
> 
> As you wish. The huge patch is the first one basically reverting the
> initial change plus its fixup back to pre v5.18 time.
> Right now it is not usable here due to the double delete under RCU
> which happens randomly but usually within 30min. But it appears I'm the
> only one complaining so far ;)

I can agree that the hsr code will be in a better shaper with this
patches, but my personal concerns is with the timing. We are almost at
the end of the 6.1 release cycle. Sending relativelly large changes and
significant refactor this late would be "unusual" at best.

> If you want to merge it via next, be my guest. Can you apply it as-it
> or do I need to repost it again?

I'd like to see the self-tests, if possible. So a repost will likelly
be needed.

> > In any case it looks like you have some testing setup handy, could you
> > please use it as starting point to add some basic selftests?
> 
> This task might be within my capabilities. I guess you ask for something
> that spins a few virtual interfaces and then creates a HSR ring on top
> of it.

Exactly. Possibly you have to create different namespaces, and create
hsr devices on top of veths. There are a few existing self-tests you
can have a look to as a reference - to make a "random" example, the
setup phase in tools/testing/selftests/net/mptcp/mptcp_connect.sh.

Cheers,

Paolo