Page MenuHomeFreeBSD

shurd (Stephen Hurd)
User

Projects

User Details

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

Recent Activity

Thu, Mar 14

shurd accepted D19468: iflib: prevent possible infinite loop in iflib_encap.

lgtm

Thu, Mar 14, 10:25 PM
Herald added a reviewer for D19468: iflib: prevent possible infinite loop in iflib_encap: iflib.
Thu, Mar 14, 5:17 PM
shurd accepted D19489: iflib: expose the Rx mbuf buffer size to drivers.

And again now that I've joined iflib...

Thu, Mar 14, 5:02 PM
shurd added a member for iflib: shurd.
Thu, Mar 14, 5:01 PM
shurd accepted D19489: iflib: expose the Rx mbuf buffer size to drivers.

Accepted. (derp)

Thu, Mar 14, 5:00 PM
Herald added a reviewer for D19489: iflib: expose the Rx mbuf buffer size to drivers: iflib.

lgtm

Thu, Mar 14, 4:59 PM

Thu, Feb 28

shurd accepted D19402: ixv(4): Add missing IFLIB_IS_VF flag in iflib shared ctx.

LGTM

Thu, Feb 28, 6:01 PM

Fri, Feb 22

shurd committed rS344472: MFC r333131:.
MFC r333131:
Fri, Feb 22, 6:25 PM
shurd committed rS344471: MFC r344162:.
MFC r344162:
Fri, Feb 22, 6:03 PM

Feb 15 2019

shurd committed rS344162: iflib: Improve return values of interrupt handlers..
iflib: Improve return values of interrupt handlers.
Feb 15 2019, 6:52 PM
shurd closed D19201: iflib: Return the correct filter result in the interrupt handler..
Feb 15 2019, 6:52 PM

Feb 14 2019

shurd updated the diff for D19201: iflib: Return the correct filter result in the interrupt handler..

style(9) nits.

Feb 14 2019, 10:10 PM
shurd updated the diff for D19201: iflib: Return the correct filter result in the interrupt handler..

FILTER_SCHEDULE_THREAD is a flag, not a discrete value. If it's set, schedule the
gtask and return FILTER_HANDLED.

Feb 14 2019, 10:08 PM
shurd updated the diff for D19201: iflib: Return the correct filter result in the interrupt handler..

Return FILTER_HANDLED rather than FILTER_SCHEDULE_THREAD when gtask (potentially) scheduled
per @waddlesplash_gmail.com.

Feb 14 2019, 9:56 PM
shurd updated the diff for D19201: iflib: Return the correct filter result in the interrupt handler..

Some bits of the upstream patch didn't paply cleanly... added manually.

Feb 14 2019, 9:24 PM
shurd updated the diff for D19201: iflib: Return the correct filter result in the interrupt handler..

Put the result variable back in. *facepalm*

Feb 14 2019, 7:49 PM
shurd updated the diff for D19201: iflib: Return the correct filter result in the interrupt handler..

Unpack the conditional for easier reading.

Feb 14 2019, 7:43 PM
shurd updated the diff for D19201: iflib: Return the correct filter result in the interrupt handler..

Remove unrelated stuff.

Feb 14 2019, 7:36 PM
shurd created D19201: iflib: Return the correct filter result in the interrupt handler..
Feb 14 2019, 7:36 PM
shurd accepted D19199: remove references to CONTIGMALLOC_WORKS in iflib.

Looks good to me.

Feb 14 2019, 7:33 PM

Feb 5 2019

shurd committed rP492276: Remove obsolete features, fixed blacklist.
Remove obsolete features, fixed blacklist
Feb 5 2019, 11:31 PM

Feb 4 2019

shurd accepted D19067: Change iflib(4) to employ the usual convention of "descriptor".

I love everything about this. If you plan to use the summary as the commit message though you should modify "change the M_NOWAIT from malloc(9) calls into M_NOWAIT." bit to mention M_WAITOK.

Feb 4 2019, 8:18 PM

Jan 28 2019

shurd accepted D18980: Stop iflib(4) from leaking MSI messages and along with drivers let it use the correct RIDs when releasing resources.

Looks good. This may also fix where bar == -1 && pci_msix_count(dev) == 0 (or break it less... or something)

Jan 28 2019, 11:59 PM
shurd added a comment to D18980: Stop iflib(4) from leaking MSI messages and along with drivers let it use the correct RIDs when releasing resources.

I think that the inability to map an MSI-X table should likely not be bootverbose... this is an allocation failure which will significantly impact device performance. While the user should know that MSI-X is disabled, I'm not sure the user should be expected to know that the allocation will fail.

Jan 28 2019, 6:58 PM

Jan 25 2019

shurd accepted D16164: Make options IFLIB a real configuration option..

No objections, though I do agree with cem@ in principle regarding putting it in the GENERICs. When 3rd-party drivers start relying on it, it would violate POLA removing Intel NICs from the kernel would break a 3rd-party driver. For now it's likely "fine".

Jan 25 2019, 6:50 PM
shurd committed rS343441: MFC r343047:.
MFC r343047:
Jan 25 2019, 6:30 PM

Jan 18 2019

shurd abandoned D18861: Attempt to address lagg race in PR234864.
Jan 18 2019, 5:42 PM

Jan 17 2019

shurd added a comment to D18861: Attempt to address lagg race in PR234864.

So the basic goal is to have the test at sys/net/if_ethersubr.c:583 see a consistent state of the changes from the /* Change the interface type */ line to the lagg_proto_addport() line.

Jan 17 2019, 5:45 PM

Jan 16 2019

shurd updated the diff for D18861: Attempt to address lagg race in PR234864.

RLOCK() before setting ifp->if_type

Jan 16 2019, 10:36 PM
shurd created D18861: Attempt to address lagg race in PR234864.
Jan 16 2019, 10:34 PM
shurd committed rS343099: MFC r342855:.
MFC r342855:
Jan 16 2019, 7:20 PM

Jan 15 2019

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

Jan 14 2019

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

Jan 11 2019

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

Jan 8 2019

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.

Jan 8 2019, 5:12 PM

Jan 7 2019

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().
Jan 7 2019, 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...

Jan 7 2019, 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.

Jan 7 2019, 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.

Jan 7 2019, 8:42 PM

Dec 27 2018

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

Dec 20 2018

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.

Dec 20 2018, 7:59 PM

Dec 18 2018

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

lgtm

Dec 18 2018, 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