Page MenuHomeFreeBSD

shurd (Stephen Hurd)
User

Projects

User Details

User Since
Jun 19 2014, 6:57 AM (238 w, 6 d)

Recent Activity

Today

shurd committed rS343099: MFC r342855:.
MFC r342855:
Wed, Jan 16, 7:20 PM

Yesterday

shurd closed D18821: Fix window update issue when scaling disabled.
Tue, Jan 15, 5:40 PM
shurd committed rS343047: Fix window update issue when scaling disabled.
Fix window update issue when scaling disabled
Tue, Jan 15, 5:40 PM

Mon, Jan 14

shurd committed rS343024: MFC r342855:.
MFC r342855:
Mon, Jan 14, 6:40 PM

Fri, Jan 11

shurd created D18821: Fix window update issue when scaling disabled.
Fri, Jan 11, 5:16 PM

Tue, Jan 8

shurd accepted D18761: Convert vmx(4) to iflib.

My only concern here is making IFLIB_MAX_RX_SEGS available to the driver...

In the current iflib implementation, the reality of course is that IFLIB_MAX_RX_SEGS is the upper limit of what a driver can use. My approach is to just give it as much runway as the current iflib implementation allows.

Tue, Jan 8, 5:12 PM

Mon, Jan 7

shurd committed rS342855: Use iflib_if_init_locked() during resume instead of iflib_init_locked()..
Use iflib_if_init_locked() during resume instead of iflib_init_locked().
Mon, Jan 7, 11:47 PM
shurd added a comment to D18761: Convert vmx(4) to iflib.

My only concern here is making IFLIB_MAX_RX_SEGS available to the driver...

Mon, Jan 7, 11:41 PM
shurd accepted D18760: Fix error-path resource leaks in iflib registration routines.

Looks good, only a tiny nitpick on the fail label.

Mon, Jan 7, 9:03 PM
shurd added a comment to D18532: Use byte-counting rather than packet counting for TX batch size.

Hi,
I've got igb only NIC, not em, so I can't use my lab to bench this new review version.

Mon, Jan 7, 8:42 PM

Thu, Dec 27

shurd committed rP488507: Update to 2.0.0.
Update to 2.0.0
Thu, Dec 27, 4:46 AM

Thu, Dec 20

shurd updated the diff for D18532: Use byte-counting rather than packet counting for TX batch size.

In addition to trying to keep the TXQ full, use a mp_ring size that's half the
number of descriptors. Previously, the mp_ring was a fixed size which happened
to be twice the default size of the txq for my em devices.

Thu, Dec 20, 7:59 PM

Tue, Dec 18

shurd committed rS342194: MFC r341824:.
MFC r341824:
Tue, Dec 18, 5:31 PM
shurd accepted D18545: intel: correct initialization of tx_cidx_processed.

lgtm

Tue, Dec 18, 4:30 AM

Dec 14 2018

shurd added a comment to D18545: intel: correct initialization of tx_cidx_processed.

I'm not entirely certain how to reproduce the original setup that triggered the bug, so some help with that would be appreciated.

Dec 14 2018, 8:36 PM
shurd updated the diff for D18532: Use byte-counting rather than packet counting for TX batch size.

Remove the drain limit completely and instead try to fill the TX queue on each drain.

Dec 14 2018, 6:03 AM
shurd added a comment to D18532: Use byte-counting rather than packet counting for TX batch size.

tx_abdicate still brings lot's major gain against D18532.
Theory invalided ?

Dec 14 2018, 6:02 AM

Dec 12 2018

shurd created D18532: Use byte-counting rather than packet counting for TX batch size.
Dec 12 2018, 7:09 PM

Dec 11 2018

shurd committed rS341824: Fix !tx_abdicate error from r336560.
Fix !tx_abdicate error from r336560
Dec 11 2018, 5:46 PM

Dec 5 2018

shurd added a comment to D18402: netmap: ixgbe: add support for jumbo frames.

I didn't think this code was still in use... AFAIK, ixgbe uses the iflib netmap support now.

Dec 5 2018, 3:17 PM

Dec 3 2018

shurd committed rS341427: MFC r341156:.
MFC r341156:
Dec 3 2018, 3:21 PM

Nov 28 2018

shurd closed D18368: Fix first-packet completion.
Nov 28 2018, 5:38 PM
shurd committed rS341156: Fix first-packet completion.
Fix first-packet completion
Nov 28 2018, 5:38 PM
shurd created D18368: Fix first-packet completion.
Nov 28 2018, 3:25 PM

Nov 21 2018

shurd committed rS340735: MFS r340729:.
MFS r340729:
Nov 21 2018, 5:33 PM
shurd committed rS340729: MFC r340435:.
MFC r340435:
Nov 21 2018, 5:15 PM

Nov 19 2018

shurd committed rS340634: MFS r340629.
MFS r340629
Nov 19 2018, 4:40 PM
shurd committed rS340629: MFC r340434, r340445.
MFC r340434, r340445
Nov 19 2018, 3:18 PM

Nov 14 2018

shurd committed rS340445: Clear RX completion queue state veriables in iflib_stop().
Clear RX completion queue state veriables in iflib_stop()
Nov 14 2018, 8:36 PM
shurd committed rS340435: Prevent POLA violation with TSO/CSUM offload.
Prevent POLA violation with TSO/CSUM offload
Nov 14 2018, 3:23 PM
shurd closed D17801: TSO inherently requires checksum offload. In the case where TSO is in use, force the checksum offload on as well for that packet..
Nov 14 2018, 3:23 PM
shurd committed rS340434: Fix leaks caused by ifc_nhwtxqs never being initialized.
Fix leaks caused by ifc_nhwtxqs never being initialized
Nov 14 2018, 3:17 PM
shurd closed D17979: Fix leaks caused by ifc_nhwtxqs never being initialized.
Nov 14 2018, 3:17 PM

Nov 13 2018

shurd added a comment to D17979: Fix leaks caused by ifc_nhwtxqs never being initialized.

Style-wise, would it be better to set up an sctx local at the top of these routines and then dereference that to avoid the double-dereference noise in the code?

Nov 13 2018, 8:09 PM
shurd updated the diff for D17979: Fix leaks caused by ifc_nhwtxqs never being initialized.

Address feedback.

Nov 13 2018, 8:09 PM
shurd created D17979: Fix leaks caused by ifc_nhwtxqs never being initialized.
Nov 13 2018, 7:17 PM

Nov 12 2018

shurd committed rS340366: MFC r340310:.
MFC r340310:
Nov 12 2018, 4:28 PM
shurd committed rS340365: MFC r340236:.
MFC r340236:
Nov 12 2018, 4:08 PM

Nov 9 2018

shurd committed rS340310: Fix first-packet completion.
Fix first-packet completion
Nov 9 2018, 10:19 PM
shurd closed D17931: Fix first-packet completion.
Nov 9 2018, 10:19 PM
shurd created D17931: Fix first-packet completion.
Nov 9 2018, 7:35 PM
shurd abandoned D17913: Attempt to fix pr233022.

Does not address the issue.

Nov 9 2018, 5:14 AM

Nov 8 2018

shurd created D17913: Attempt to fix pr233022.
Nov 8 2018, 8:46 PM
shurd updated the diff for D17801: TSO inherently requires checksum offload. In the case where TSO is in use, force the checksum offload on as well for that packet..

Restore setting ip_csum to zero for TSO when IFLIB_TSO_INIT_IP is set.

Nov 8 2018, 7:17 PM
shurd accepted D17900: ixl/iavf: fix TSO offloads when TXCSUM is disabled.

There is an upcoming patch that will make the IXL_CSUM_IPV4 macro obsolete, but better to fix it at both ends anyway.

Nov 8 2018, 6:06 PM

Nov 7 2018

shurd closed D17881: Fix rxcsum issue introduced in r338838.
Nov 7 2018, 7:32 PM
shurd committed rS340236: Fix rxcsum issue introduced in r338838.
Fix rxcsum issue introduced in r338838
Nov 7 2018, 7:32 PM
shurd added a comment to D17881: Fix rxcsum issue introduced in r338838.
In D17881#382102, @lev wrote:

It fix ix0 for me.

Nov 7 2018, 7:21 PM
shurd created D17881: Fix rxcsum issue introduced in r338838.
Nov 7 2018, 5:05 AM

Nov 6 2018

shurd committed rS340202: MFC r339861:.
MFC r339861:
Nov 6 2018, 8:46 PM

Nov 2 2018

shurd updated the diff for D17801: TSO inherently requires checksum offload. In the case where TSO is in use, force the checksum offload on as well for that packet..

Move setting CSUM_IP_TCP into the correct block. Also set CSUM_IP.

Nov 2 2018, 9:13 PM

Nov 1 2018

shurd created D17801: TSO inherently requires checksum offload. In the case where TSO is in use, force the checksum offload on as well for that packet..
Nov 1 2018, 1:41 PM

Oct 29 2018

shurd committed rS339861: Drain grouptaskqueue of the gtask before detaching it..
Drain grouptaskqueue of the gtask before detaching it.
Oct 29 2018, 2:36 PM
shurd closed D17674: Drain grouptaskqueue of the gtask before detaching it..
Oct 29 2018, 2:36 PM

Oct 24 2018

shurd updated the diff for D17674: Drain grouptaskqueue of the gtask before detaching it..

Add missing semi-colon.

Oct 24 2018, 5:29 PM
shurd updated the diff for D17674: Drain grouptaskqueue of the gtask before detaching it..

Add gtaskqueue_drain_locked() to hold common code for gtaskqueue_drain()
and grouptask_block().

Oct 24 2018, 5:18 PM

Oct 23 2018

shurd created D17674: Drain grouptaskqueue of the gtask before detaching it..
Oct 23 2018, 8:04 PM

Oct 22 2018

shurd accepted D17404: iflib: drain enqueued tasks before detaching from taskqgroup.

lgtm

Oct 22 2018, 2:22 PM

Oct 18 2018

shurd added inline comments to D17404: iflib: drain enqueued tasks before detaching from taskqgroup.
Oct 18 2018, 5:17 PM

Oct 17 2018

shurd added a comment to D17404: iflib: drain enqueued tasks before detaching from taskqgroup.

My opinion is that mtx_owned() would just make this all more complex. Releasing a lock for a short period isn't a problem at all.

Oct 17 2018, 2:16 PM

Oct 11 2018

shurd added a comment to D17404: iflib: drain enqueued tasks before detaching from taskqgroup.

iflib_admin_intr_deferred() called with STATE_LOCK() in a few places.

Oct 11 2018, 5:25 PM

Oct 9 2018

shurd committed rS339267: Use mbuf defines to construct csum offload masks rather than literals.
Use mbuf defines to construct csum offload masks rather than literals
Oct 9 2018, 8:16 PM
shurd closed D17442: Fix egregious magic number constants.
Oct 9 2018, 8:16 PM

Oct 5 2018

shurd added a comment to D17404: iflib: drain enqueued tasks before detaching from taskqgroup.

Hrm, I don't think we can obtain CTX_LOCK() in those functions.

Oct 5 2018, 9:53 PM
shurd added a comment to D17404: iflib: drain enqueued tasks before detaching from taskqgroup.
In D17404#371990, @erj wrote:

Is there a reason not to do this in taskqgroup_detach()?

I don't see any obvious thing which prevents something being enqueued between the gtaskqueue_drain() and taskqgroup_detach() calls.

For the latter statement, should iflib_admin_intr_deferred() then add a check to see if iflib is in detach before calling GROUPTASK_ENQUEUE()? I don't see other places where it's enqueued.

Oct 5 2018, 9:30 PM
shurd abandoned D17393: Attempt to fix PR231416 (UDP BPF VLAN checksum errors).

"Abandoning" because I put the wrong URL in the commit message.

Oct 5 2018, 9:12 PM
shurd added a comment to D17404: iflib: drain enqueued tasks before detaching from taskqgroup.

Bah, sorry... looks like I just grabbed whatever URL I had open at the time. :(

Oct 5 2018, 9:06 PM
shurd created D17442: Fix egregious magic number constants.
Oct 5 2018, 8:48 PM
shurd committed rS339207: Fix igb corrupting checksums with BPF and VLAN.
Fix igb corrupting checksums with BPF and VLAN
Oct 5 2018, 8:16 PM
shurd closed D17404: iflib: drain enqueued tasks before detaching from taskqgroup.
Oct 5 2018, 8:16 PM
shurd added a comment to D17404: iflib: drain enqueued tasks before detaching from taskqgroup.

Is there a reason not to do this in taskqgroup_detach()?

Oct 5 2018, 7:07 PM

Oct 3 2018

shurd added a comment to D17393: Attempt to fix PR231416 (UDP BPF VLAN checksum errors).
In D17393#371122, @lev wrote:

This patch (first version) breaks my I210 completely.

Oct 3 2018, 8:45 PM
shurd updated the diff for D17393: Attempt to fix PR231416 (UDP BPF VLAN checksum errors).

Explicitly set E1000_TXD_POPTS_TXSM when setting the checksum type.

Oct 3 2018, 8:44 PM
shurd created D17393: Attempt to fix PR231416 (UDP BPF VLAN checksum errors).
Oct 3 2018, 6:04 PM

Sep 20 2018

shurd closed D17242: Add IFCAP_TSO6 for igb.
Sep 20 2018, 8:07 PM
shurd committed rS338840: Add IFCAP_TSO6 for igb.
Add IFCAP_TSO6 for igb
Sep 20 2018, 8:06 PM
shurd updated the diff for D17242: Add IFCAP_TSO6 for igb.

Remove trailing semicolon while we're here.

Sep 20 2018, 7:44 PM
shurd committed rS338838: Fix capabilities handling for iflib drivers.
Fix capabilities handling for iflib drivers
Sep 20 2018, 7:35 PM
shurd closed D17158: Fix capabilities handling for iflib drivers.
Sep 20 2018, 7:35 PM
shurd committed rS338834: Add iflib.4 manpage.
Add iflib.4 manpage
Sep 20 2018, 6:24 PM
shurd closed D16920: Add an iflib manpage to section 4.
Sep 20 2018, 6:24 PM

Sep 19 2018

shurd created D17242: Add IFCAP_TSO6 for igb.
Sep 19 2018, 4:03 PM

Sep 14 2018

shurd accepted D16808: fix vlan locking to permit sx acquisition in ioctl calls.

lgtm

Sep 14 2018, 4:46 PM

Sep 13 2018

shurd created D17158: Fix capabilities handling for iflib drivers.
Sep 13 2018, 8:21 PM

Sep 6 2018

shurd committed rS338505: Clean up iflib sysctls.
Clean up iflib sysctls
Sep 6 2018, 6:52 PM
shurd closed D16733: iflib sysctl cleanup.
Sep 6 2018, 6:52 PM

Aug 29 2018

shurd committed rS338373: Fix compile error due to missing parenthesis in r338372.
Fix compile error due to missing parenthesis in r338372
Aug 29 2018, 4:21 PM
shurd closed D16882: Handle case where mbuf == &txq when IFC_QFLUSH is set.
Aug 29 2018, 3:55 PM
shurd committed rS338372: Fix potential data corruption in iflib.
Fix potential data corruption in iflib
Aug 29 2018, 3:55 PM

Aug 28 2018

shurd added a comment to D16882: Handle case where mbuf == &txq when IFC_QFLUSH is set.

Sorry, having the ring pointer in the ring is just so odd.. Can you explain why it is there? Maybe it would be better to just not have the ring pointer in the ring and not have to have all these special cases.

I'm fighting an iflib bug myself, and every time I have to dig into the code, i'm irritated at what seems to be complexity driven by premature optimization...

Aug 28 2018, 11:45 PM
shurd added a comment to D16882: Handle case where mbuf == &txq when IFC_QFLUSH is set.

What keeps the normal, non-IFC_QFLUSH from hitting this condition? Is the txq pointer included in r->size?

Aug 28 2018, 8:58 PM
shurd updated the diff for D16882: Handle case where mbuf == &txq when IFC_QFLUSH is set.

mp_ring->items is void *, not struct mbuf *.

Aug 28 2018, 5:22 PM
shurd updated the diff for D16882: Handle case where mbuf == &txq when IFC_QFLUSH is set.

Fix test for txq, and cast to the appropriate type before comparison

Aug 28 2018, 5:21 PM

Aug 27 2018

shurd updated the diff for D16920: Add an iflib manpage to section 4.

Run through igor and mandoc -Tlint

Aug 27 2018, 6:34 PM
shurd updated the diff for D16920: Add an iflib manpage to section 4.

Remove iflib.c patch.

Aug 27 2018, 3:16 PM
shurd created D16920: Add an iflib manpage to section 4.
Aug 27 2018, 3:16 PM

Aug 24 2018

shurd updated the diff for D16402: Add TIOCFBAUD UART ioctl to allow fractional baudrates.

Fix builds on GCC targets

Aug 24 2018, 4:21 PM
shurd created D16882: Handle case where mbuf == &txq when IFC_QFLUSH is set.
Aug 24 2018, 3:38 PM
shurd added a comment to D16875: Possible fix for "desc avail = " dmesg spam and igb breakage.

Looking at iflib_txq_drain_free() more, we likely want to just extract the free loop and put it in a LINK_ACTIVE() block in iflib_txq_drain.

Aug 24 2018, 3:26 PM
shurd added a comment to D16875: Possible fix for "desc avail = " dmesg spam and igb breakage.

Possibly the easiest way to ensure we don't enter the STALLED state while link is down is to have iflib_link_state_change() set txq->ift_br->drain = iflib_txq_drain_free when link goes down, and then txq->ift_br->drain = iflib_txq_can_drain when it comes back up... which would mean stopping and resetting the callout timer on link changes.

Aug 24 2018, 3:21 PM