Page MenuHomeFreeBSD
Feed Advanced Search

Aug 15 2017

mjoras added a member for transport: mjoras.
Aug 15 2017, 4:52 PM
mjoras added a member for network: mjoras.
Aug 15 2017, 4:48 PM
mjoras added a comment to D11370: Rework vlan(4) locking..
In D11370#249572, @ae wrote:

I also did the same test with vlans created on top of lagg with 2x25G mellanox adapters.
I didn't see measurable performance drop there. It is able to forward 14Mpps with our RX direct vlan handling patch.

I think it is acceptable.

Aug 15 2017, 4:14 PM
mjoras added a comment to D11370: Rework vlan(4) locking..
In D11370#249511, @ae wrote:

I have tested your patch in our test environment against forwarding performance.
[packet generator] -> [ switch ] -> [ix.10 -> ix.100]

So, the FreeBSD 12 receives tagged by vlan10 packets on ixgbe(4) and then sends them into vlan100 through the same interface.
With used traffic distribution this test machine is able to forward about 1.3Mpps with and without your patch.
Then I applied our local patch to reduce RX overhead using direct vlan handling in the ixgbe(4). With this patch the same machine is able to forward 3Mpps without packet loss. With your patch this value is lowered to 2.9Mpps. Thus the locking overhead cost is about ~100kpps.
Also I think the possible panic in the vlan_input() due to the race now fixed.

Aug 15 2017, 3:15 PM

Aug 4 2017

mjoras committed rS322062: Selectively print "hwaddr" from ifconfig(8)..
Selectively print "hwaddr" from ifconfig(8).
Aug 4 2017, 9:07 PM
mjoras closed D11777: Selectively print "hwaddr" from ifconfig(8). by committing rS322062: Selectively print "hwaddr" from ifconfig(8)..
Aug 4 2017, 9:06 PM

Aug 3 2017

mjoras added inline comments to D11683: Fix mlx4en(4) to properly call m_defrag..
Aug 3 2017, 10:54 PM
mjoras added a comment to D11725: Add optional TCP logging on sonewconn failures..
In D11725#245735, @ae wrote:

I proposed this patch for the discussed problem:
https://lists.freebsd.org/pipermail/freebsd-net/2016-December/046650.html

But glebius@ said that he will have better solution after "listening sockets revamp".

Aug 3 2017, 6:57 PM
mjoras added a comment to D11683: Fix mlx4en(4) to properly call m_defrag..

Hi,

We are currently testing this patch internally. Testing will be done by Monday. Do you mind if I push it, so I can have it my MFC queue?

--HPS

Aug 3 2017, 3:22 PM

Aug 2 2017

mjoras updated the diff for D11683: Fix mlx4en(4) to properly call m_defrag..
  • add per-ring sysctl for defrag_attempts
Aug 2 2017, 3:01 PM

Aug 1 2017

mjoras added a comment to D11683: Fix mlx4en(4) to properly call m_defrag..

Here's an older test output that shows defrag_attempts and oversized_packets:

durinf004-1: hw.mlxen1.stat.tx_oversized_packets: 0
durinf004-1: hw.mlxen1.stat.defrag_attempts: 117
durinf004-2: hw.mlxen1.stat.tx_oversized_packets: 0
durinf004-2: hw.mlxen1.stat.defrag_attempts: 1
Fri Jul 21 18:46:25 PDT 2017
durinf004-1: hw.mlxen1.stat.tx_oversized_packets: 0
durinf004-1: hw.mlxen1.stat.defrag_attempts: 121
durinf004-2: hw.mlxen1.stat.tx_oversized_packets: 0
durinf004-2: hw.mlxen1.stat.defrag_attempts: 1
durinf004-1# tail -n 10 logfile
Sun Jul 23 23:00:25 PDT 2017
durinf004-1: hw.mlxen1.stat.tx_oversized_packets: 0
durinf004-1: hw.mlxen1.stat.defrag_attempts: 9306
durinf004-2: hw.mlxen1.stat.tx_oversized_packets: 0
durinf004-2: hw.mlxen1.stat.defrag_attempts: 47
Sun Jul 23 23:00:55 PDT 2017
durinf004-1: hw.mlxen1.stat.tx_oversized_packets: 0
durinf004-1: hw.mlxen1.stat.defrag_attempts: 9306
durinf004-2: hw.mlxen1.stat.tx_oversized_packets: 0
durinf004-2: hw.mlxen1.stat.defrag_attempts: 47
Aug 1 2017, 8:43 PM
mjoras updated the test plan for D11683: Fix mlx4en(4) to properly call m_defrag..
Aug 1 2017, 7:11 PM
mjoras added a comment to D11683: Fix mlx4en(4) to properly call m_defrag..

Have you tested this patch?

Aug 1 2017, 5:49 PM
mjoras updated the diff for D11683: Fix mlx4en(4) to properly call m_defrag..
  • add per-ring sysctl node for tso_packets
Aug 1 2017, 5:34 PM
mjoras added inline comments to D11683: Fix mlx4en(4) to properly call m_defrag..
Aug 1 2017, 5:27 PM
mjoras added a comment to D11683: Fix mlx4en(4) to properly call m_defrag..

BTW: I think the same issue exists for mlx5en.

Would you like me to make a separate revision for mlx5en or combine it into this one?

Aug 1 2017, 5:15 PM
mjoras added inline comments to D11683: Fix mlx4en(4) to properly call m_defrag..
Aug 1 2017, 4:58 PM
mjoras added inline comments to D11683: Fix mlx4en(4) to properly call m_defrag..
Aug 1 2017, 4:06 PM
mjoras updated the diff for D11683: Fix mlx4en(4) to properly call m_defrag..
  • unload / free the mbuf if everything was inlined
Aug 1 2017, 4:05 PM
mjoras updated the diff for D11683: Fix mlx4en(4) to properly call m_defrag..
  • Forgot to add the sysctl for defrag_attempts.
Aug 1 2017, 3:12 PM

Jul 31 2017

mjoras updated the diff for D11683: Fix mlx4en(4) to properly call m_defrag..

Rebasing on HEAD.

Jul 31 2017, 7:29 PM
mjoras edited P129 Masterwork From Distant Lands.
Jul 31 2017, 6:27 PM
mjoras edited P128 Masterwork From Distant Lands.
Jul 31 2017, 6:26 PM
mjoras edited P127 Masterwork From Distant Lands.
Jul 31 2017, 6:25 PM
mjoras closed D11797: Add myself to the calendar. by committing rS321804: Add myself to the calendar..
Jul 31 2017, 6:10 PM
mjoras committed rS321804: Add myself to the calendar..
Add myself to the calendar.
Jul 31 2017, 6:10 PM
mjoras created D11797: Add myself to the calendar..
Jul 31 2017, 5:16 PM

Jul 29 2017

mjoras archived P126 Masterwork From Distant Lands.
Jul 29 2017, 10:44 PM
mjoras edited P126 Masterwork From Distant Lands.
Jul 29 2017, 10:35 PM
mjoras created D11777: Selectively print "hwaddr" from ifconfig(8)..
Jul 29 2017, 1:42 AM

Jul 25 2017

mjoras added a comment to D11725: Add optional TCP logging on sonewconn failures..

I wouldn't necessarily agree that that's a poor abstraction. The other alternative would be for sonewconn(9) to pass more information back to the caller on failure, and expect the caller to print a meaningful message -- and I'd want to see some evidence that that doesn't make the common case (no failure) any slower. That would also require every caller to implement its own rate-limiting.

I should say that I personally don't think it's a bad idea to have an abstraction for getting a human-readable representation of a socket, but I figured that change might cause a bit more controversy since there's no precedent for it today,

Jul 25 2017, 2:42 AM
mjoras added a comment to D11725: Add optional TCP logging on sonewconn failures..

Have to say, I cannot imagine any circumstances in which the message that's on by default would be useful when the message that's off by default isn't printed. The PCB address is useless debugging information here, whereas the 4-tuple of the dropped connection is actually meaningful -- so I'd reverse them (or better yet, figure out a way to combine the two messages while hiding the PCB address under a debug flag).

Jul 25 2017, 2:10 AM
mjoras updated the test plan for D11725: Add optional TCP logging on sonewconn failures..
Jul 25 2017, 1:27 AM
mjoras created D11725: Add optional TCP logging on sonewconn failures..
Jul 25 2017, 1:25 AM

Jul 20 2017

mjoras set the repository for D11683: Fix mlx4en(4) to properly call m_defrag. to rS FreeBSD src repository - subversion.
Jul 20 2017, 10:52 PM
mjoras created D11683: Fix mlx4en(4) to properly call m_defrag..
Jul 20 2017, 10:51 PM
mjoras committed rD50527: Add myself (mjoras) as a new src committer.
Add myself (mjoras) as a new src committer
Jul 20 2017, 6:20 PM
mjoras closed D11670: Add myself (mjoras) as a new src committer by committing rD50527: Add myself (mjoras) as a new src committer.
Jul 20 2017, 6:20 PM
mjoras closed D11672: Add myself and mentor line to committers-src.dot. by committing rS321301: Add myself and mentor line to committers-src.dot..
Jul 20 2017, 6:14 PM
mjoras committed rS321301: Add myself and mentor line to committers-src.dot..
Add myself and mentor line to committers-src.dot.
Jul 20 2017, 6:14 PM
mjoras abandoned D5829: Defer vlan register/deregister operations in mlxen..
Jul 20 2017, 5:50 PM
mjoras abandoned D5825: if_vlan locking fixes.
Jul 20 2017, 5:49 PM
mjoras added a reviewer for D11672: Add myself and mentor line to committers-src.dot.: rstone.
Jul 20 2017, 5:28 PM
mjoras created D11672: Add myself and mentor line to committers-src.dot..
Jul 20 2017, 5:27 PM
mjoras updated the diff for D11670: Add myself (mjoras) as a new src committer.

Wrong name :)

Jul 20 2017, 4:01 PM
mjoras created D11670: Add myself (mjoras) as a new src committer.
Jul 20 2017, 3:59 PM

Jul 11 2017

mjoras updated the diff for D11370: Rework vlan(4) locking..
  • further clarify comment
Jul 11 2017, 6:25 PM
mjoras updated the diff for D11370: Rework vlan(4) locking..
  • comment updates
Jul 11 2017, 4:27 AM
mjoras added inline comments to D11370: Rework vlan(4) locking..
Jul 11 2017, 4:24 AM

Jul 9 2017

mjoras updated the test plan for D11370: Rework vlan(4) locking..
Jul 9 2017, 12:42 AM

Jul 8 2017

mjoras added inline comments to D11370: Rework vlan(4) locking..
Jul 8 2017, 4:50 AM

Jun 30 2017

mjoras added a comment to D11370: Rework vlan(4) locking..
In D11370#236225, @mav wrote:
In D11370#236121, @matt.joras_gmail.com wrote:

The reasoning for keeping the counter increment under the lock is to protect against the possibility of the vlan ifnet being freed while we are touching the counter, since the vlan ifnet can't be freed while we still have the read lock.

It looks odd to me that network stack does not protect against this. What if interface decide to go away earlier, just after entering vlan_transmit? I have subtle feeling that this may only hide the problem.

Jun 30 2017, 3:25 AM

Jun 29 2017

mjoras updated the diff for D11370: Rework vlan(4) locking..
  • edit comment to properly english
Jun 29 2017, 8:01 PM
mjoras added a comment to D11370: Rework vlan(4) locking..
In D11370#235953, @mav wrote:

I have no objections. Just not sure why if_inc_counter() is repeatedly called under the lock. IIRC it is atomic by itself, and interface pointer should be valid any way.

Jun 29 2017, 7:46 PM

Jun 27 2017

mjoras added inline comments to D11370: Rework vlan(4) locking..
Jun 27 2017, 6:18 PM

Jun 26 2017

mjoras updated the test plan for D11370: Rework vlan(4) locking..
Jun 26 2017, 6:15 PM
mjoras created D11370: Rework vlan(4) locking..
Jun 26 2017, 6:11 PM

Jan 12 2017

mjoras updated the test plan for D9164: Set ifm_cur to NULL in ifmedia_removeall..
Jan 12 2017, 9:19 PM
mjoras updated the test plan for D9164: Set ifm_cur to NULL in ifmedia_removeall..
Jan 12 2017, 9:18 PM
mjoras updated the diff for D9164: Set ifm_cur to NULL in ifmedia_removeall..
  • Accidentally left in internal tag.
Jan 12 2017, 9:12 PM
mjoras retitled D9164: Set ifm_cur to NULL in ifmedia_removeall. from to Set ifm_cur to NULL in ifmedia_removeall..
Jan 12 2017, 9:09 PM

Apr 5 2016

mjoras added a comment to D5829: Defer vlan register/deregister operations in mlxen..

Can this be fixed in the VLAN / LAGG code instead?

Apr 5 2016, 4:09 PM
mjoras added a comment to D5829: Defer vlan register/deregister operations in mlxen..

What code paths cannot sleep in the vlan filter callbacks?

This also affects mlx5en I believe. Would it be better to fix the caller than all of the clients?

With the non-sleepable rmlock(9) in both if_lagg and if_vlan, any vlan_config/unconfig event handler cannot sleep. Further, even if both of those rmlocks were changed to sleepable locks, the if_lagg vlan_config (see lagg_register_vlan) caller happens under a shared lock, not an exclusive lock, so it can never sleep per rmlock(9). This might be fixable by making the locks sleepable and making all calls to the vlan_config/unconfig event handlers under exclusive locks, but that seemed like a heavy-handed solution.

Apr 5 2016, 3:19 PM
mjoras added a comment to D5829: Defer vlan register/deregister operations in mlxen..
Apr 5 2016, 3:19 PM

Apr 4 2016

mjoras retitled D5829: Defer vlan register/deregister operations in mlxen. from to Defer vlan register/deregister operations in mlxen..
Apr 4 2016, 5:38 PM
mjoras added a comment to D5825: if_vlan locking fixes.

Could you add a comment with a few words about the locking strategy and order?

Apr 4 2016, 5:08 PM
mjoras updated the diff for D5825: if_vlan locking fixes.
  • Fixup comments to be more explicit about the locking strategy.
Apr 4 2016, 5:07 PM
mjoras retitled D5825: if_vlan locking fixes from to if_vlan locking fixes.
Apr 4 2016, 3:08 PM