[Bug 268490] [igb] [lagg] [vlan]: Intel i210 performance severely degraded
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 17 Mar 2023 18:05:39 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268490
--- Comment #34 from Daniel Duerr <duerrd561@gmail.com> ---
(In reply to Kevin Bowling from comment #33)
Hi Kevin,
Here's my first progress report:
### Round 1: Restart the `git bisect` and confirm the commit 68cfeeb1d3c4 works
[root@nfs ~]# cd /usr/src
[root@nfs ~]# git checkout releng/12.4
[root@nfs ~]# git bisect start release/12.4.0 release/12.2.0 -- sys/dev/e1000
Bisecting: a merge base must be tested
[68cfeeb1d3c428e3c3881f45bc3a20a252b37d0e] MFC r365284:
[root@nfs ~]# make -j `sysctl -n hw.ncpu` buildkernel KERNCONF=GENERIC-NODEBUG
&& make installkernel KERNCONF=GENERIC-NODEBUG
[root@nfs ~]# reboot
[root@nfs ~]# uname -a
FreeBSD nfs.tidepool.cloud 12.2-PRERELEASE FreeBSD 12.2-PRERELEASE
68cfeeb1d3c4(HEAD) GENERIC-NODEBUG amd64
[root@nfs ~]# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 1] local 172.27.6.135 port 5001 connected with 172.27.6.129 port 10616
[ ID] Interval Transfer Bandwidth
[ 1] 0.00-10.00 sec 1.15 GBytes 985 Mbits/sec
[ 2] local 172.27.6.135 port 5001 connected with 172.27.6.129 port 20446
[ ID] Interval Transfer Bandwidth
[ 2] 0.00-10.00 sec 1.15 GBytes 988 Mbits/sec
[ 3] local 172.27.6.135 port 5001 connected with 172.27.6.129 port 10068
[ ID] Interval Transfer Bandwidth
[ 3] 0.00-10.00 sec 1.15 GBytes 985 Mbits/sec
### Round 2: Apply the change to sys/dev/e1000/if_em.c in commit 68cfeeb1d3c4
and see if it still works
[root@nfs src]# vi sys/dev/e1000/if_em.c
[root@nfs src]# git diff
diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c
index 558a75ac015e..42faacfc3eea 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -1338,7 +1338,7 @@ em_if_init(if_ctx_t ctx)
}
/* Don't lose promiscuous settings */
- em_if_set_promisc(ctx, IFF_PROMISC);
+ em_if_set_promisc(ctx, if_getflags(ifp));
e1000_clear_hw_cntrs_base_generic(&adapter->hw);
/* MSI-X configuration for 82574 */
[root@nfs ~]# make -j `sysctl -n hw.ncpu` buildkernel KERNCONF=GENERIC-NODEBUG
&& make installkernel KERNCONF=GENERIC-NODEBUG
[root@nfs ~]# reboot
[root@nfs ~]# uname -a
FreeBSD nfs.tidepool.cloud 12.2-PRERELEASE FreeBSD 12.2-PRERELEASE #15
68cfeeb1d3c4(HEAD)-dirty: Fri Mar 17 10:50:14 PDT 2023
toor@nfs.tidepool.cloud:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64
[root@nfs ~]# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 1] local 172.27.6.135 port 5001 connected with 172.27.6.129 port 47216
[ 2] local 172.27.6.135 port 5001 connected with 172.27.6.129 port 37030
[ 3] local 172.27.6.135 port 5001 connected with 172.27.6.129 port 41145
^CWaiting for server threads to complete. Interrupt again to force quit.
[ ID] Interval Transfer Bandwidth
[ 1] 0.00-76.70 sec 60.0 Bytes 6.26 bits/sec
[ 2] 0.00-56.38 sec 60.0 Bytes 8.51 bits/sec
[ 3] 0.00-36.23 sec 60.0 Bytes 13.2 bits/sec
[SUM] 0.00-78.70 sec 180 Bytes 18.3 bits/sec
In summary, the first good commit in the bisect works and when I apply the
change, it stops working.
As a next step, I was thinking I'd (a) revert the manual change back to the
"good" state, (b) so a `git bisect good` to proceed to the next (first "bad")
commit, and (c) manually reverse the change the other way to see if the bad
commit then works. Does that make sense?
--
You are receiving this mail because:
You are the assignee for the bug.