Page MenuHomeFreeBSD

shurd (Stephen Hurd)
User

Projects

User Details

User Since
Jun 19 2014, 6:57 AM (545 w, 11 h)

Recent Activity

Jul 27 2023

shurd added a comment to D41200: iflib: Move network stack capabilities after device driver init.

So yeah, looks fine to me, but I'm very out of touch with current iflib, so I'm inclined to not approve with my iflib hat on. My biggest concern was that someone may think it's the right way to handle the bits.

Jul 27 2023, 4:17 PM
shurd added a comment to D41200: iflib: Move network stack capabilities after device driver init.

Yeah, looks like em_if_update_admin_status() sets speed to zero when link is lost, so just not turning off TSO when speed == 0 would do the trick.

Jul 27 2023, 10:12 AM
shurd added inline comments to D41170: e1000: fixes for lem(4) and em(4) TSO.
Jul 27 2023, 10:12 AM
shurd added a comment to D41200: iflib: Move network stack capabilities after device driver init.

Wouldn't it also whack TSO on a flap for 1G? It seems like if you want TSO, you'll have to explicitly re-enable it every time a 1G link is established.

Jul 27 2023, 10:02 AM
shurd added a comment to D41200: iflib: Move network stack capabilities after device driver init.

Ah yes, makes more sense to enable then... not sure how you'll manage to keep the admin preferences though. It looks like if I have TSO enabled and unplug the cable then plug it back in, TSO will become disabled?

Jul 27 2023, 5:56 AM
shurd added a comment to D41200: iflib: Move network stack capabilities after device driver init.

Oh wow, so TSO works at 100Mbbs, but fails at 1Gbps? Crazy. I would personally be inclined to just disable TSO unconditionally in attach_pre(), but if someone *really* wants TSO for their "Fast" Ethernet connections, you may as well give it to them.

Jul 27 2023, 12:06 AM

Jul 26 2023

shurd updated the diff for D41201: Initial port to i.MX6UL for SBC-EC9100.

Add SOC_IMX6 to GENERIC since it's used in if_ffec.c now

Jul 26 2023, 11:16 PM
shurd added a comment to D41201: Initial port to i.MX6UL for SBC-EC9100.

I understand this will need to be split up, just wanted to get initial feedback in case I'm heading in terrible directions.

Jul 26 2023, 9:12 PM
shurd requested review of D41201: Initial port to i.MX6UL for SBC-EC9100.
Jul 26 2023, 9:10 PM
shurd abandoned D20204: First cut at cleaning up MP_RING_NO_64BIT_ATOMICS code.

Clean up my cruft

Jul 26 2023, 8:35 PM
shurd abandoned D18532: Use byte-counting rather than packet counting for TX batch size.

Clean up my cruft

Jul 26 2023, 8:34 PM
shurd abandoned D16875: Possible fix for "desc avail = " dmesg spam and igb breakage.

Clean up my cruft

Jul 26 2023, 8:33 PM
shurd resigned from D18856: new driver: Tehuti networks tn40xx device driver..
Jul 26 2023, 8:30 PM
shurd added a comment to D41200: iflib: Move network stack capabilities after device driver init.

Curious why the driver would need to change it in init... can devices actually change their supported offloads after attach? Aside from the initial setup, I would expect control of which offloads to use would be under the control of the user, not the driver... I would be very surprised if taking an interface down then up changed the offload flags.

Jul 26 2023, 8:25 PM

Apr 10 2020

shurd committed rP531323: MFH: r531299.
MFH: r531299
Apr 10 2020, 3:08 PM
shurd committed rP531299: Put the ignore block back in to silence pkg-fallout.
Put the ignore block back in to silence pkg-fallout
Apr 10 2020, 8:26 AM

Sep 20 2019

shurd added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.

Excellent news, and it looks like there's still some performance left on the table there. I guess the question now is if I consider the theory that getting rid of the mp ring improves performance proven and start gutting it, or if I finish separating the TX path from the reclaim path and clean this hack up more so further testing can be done.

Sep 20 2019, 9:18 PM
shurd added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.

So two things jump out at me here... first, a quick look suggests _task_fn_tx() -> iflib_txq_drain() is recursing on the mutex, and second the interrupt handler is contending with tx for no good reason.

Sep 20 2019, 5:42 AM

Sep 17 2019

shurd updated the diff for D21122: Proof-of-concept hack: remove mp_ring from TX path.

Create a iflib_txq_drain_bypass() function called only from
iflib_if_transmit_bypass() which doesn't have the loop,
volatile/devolatile casts, conditional prefetching, txq-cast-to-mbuf,
etc overhead and only locks/unlocks once.

Sep 17 2019, 9:28 PM
shurd added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.

I assume the two piles in the bypass flamegraphs which don't start at fork_exit() are just because the stack sample isn't deep enough to correlate them over and that the iflib_txq_drain() samples in the wide peak are actually the ones that are directly in iflib_txq_drain?

Sep 17 2019, 6:01 PM

Sep 16 2019

shurd added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.

For the bypass disabled results, is tx_abdicate set?

Sep 16 2019, 5:53 PM

Sep 11 2019

shurd updated the diff for D21122: Proof-of-concept hack: remove mp_ring from TX path.

Use a tunable instead of a sysctl to toggle mp_ring bypass.

Sep 11 2019, 7:44 PM

Aug 29 2019

shurd added a comment to D21122: Proof-of-concept hack: remove mp_ring from TX path.

Wait... why is iflib_if_transmit() being called in both? It should be using iflib_if_transmit_bypass() instead.

Aug 29 2019, 6:32 PM

Aug 14 2019

D21005: iflib: add iflib_deregister to help cleanup on exit is now accepted and ready to land.

lgtm

Aug 14 2019, 6:17 PM

Jul 30 2019

shurd created D21122: Proof-of-concept hack: remove mp_ring from TX path.
Jul 30 2019, 8:22 PM

Jul 22 2019

shurd committed rP507152: Update to 1.5, and change maintainer to hamradio@.
Update to 1.5, and change maintainer to hamradio@
Jul 22 2019, 5:27 PM

Jul 9 2019

shurd added a comment to D20110: Fix infinite loop on older hardware.

Cannot reproduce with D20834 appplied.

Jul 9 2019, 9:26 PM

Jun 23 2019

shurd committed rP504922: WSJT-X requires sqlite, not just sql..
WSJT-X requires sqlite, not just sql.
Jun 23 2019, 5:36 AM

Jun 19 2019

shurd committed rP504516: Fix error in positioning sliders when the font size is larger than the.
Fix error in positioning sliders when the font size is larger than the
Jun 19 2019, 6:52 AM
shurd committed rP504514: Fix issue where if the height of the slider is greater than the height of.
Fix issue where if the height of the slider is greater than the height of
Jun 19 2019, 6:39 AM

Jun 18 2019

shurd committed rP504508: Re-add unicode fix lost in r502312.
Re-add unicode fix lost in r502312
Jun 18 2019, 11:48 PM
shurd committed rP504463: Fix SDR-IQ Support.
Fix SDR-IQ Support
Jun 18 2019, 2:29 AM

Jun 12 2019

shurd committed rS348999: Some devices take undesired actions when RTS and DTR are.
Some devices take undesired actions when RTS and DTR are
Jun 12 2019, 6:07 PM
shurd closed D20031: Allow control over initial state of RTS and DTR lines.
Jun 12 2019, 6:07 PM

Jun 5 2019

shurd added a comment to D20110: Fix infinite loop on older hardware.

Ping.

Jun 5 2019, 6:25 PM

May 13 2019

shurd committed rS347542: MFC r346708:.
MFC r346708:
May 13 2019, 6:48 PM

May 8 2019

shurd created D20204: First cut at cleaning up MP_RING_NO_64BIT_ATOMICS code.
May 8 2019, 10:33 PM

May 6 2019

shurd accepted D20176: e1000: Correct and optimize interrupt handling.

Ok, I didn't think these functions were hot enough to be worth optimizing, and I'm not sure anything can be optimized around E1000_WRITE_*

May 6 2019, 11:01 PM
shurd added inline comments to D20176: e1000: Correct and optimize interrupt handling.
May 6 2019, 10:17 PM
shurd accepted D20175: iflib: Correct and optimize interrupt handling, assorted fixes and improvements.

Phew, great job. I've always been a bit uneasy about the MSI/INTx stuff, but this seems to have cleared everything up.

May 6 2019, 10:08 PM

May 2 2019

shurd accepted D20142: iflib: remove assertion that isc_capabilities is nonzero.

Makes sense.

May 2 2019, 5:51 PM

Apr 30 2019

shurd created D20110: Fix infinite loop on older hardware.
Apr 30 2019, 4:55 PM

Apr 29 2019

shurd updated the diff for D20031: Allow control over initial state of RTS and DTR lines.

Use rtsdtr as the stty argument to set the default mode, and -rtsdtr to
disable automatically asserting them on open().

Apr 29 2019, 7:12 PM

Apr 26 2019

shurd updated the diff for D20031: Allow control over initial state of RTS and DTR lines.

Address feedback, add support to umcs.

Apr 26 2019, 6:18 PM

Apr 25 2019

shurd committed rS346708: iflib: Better control over queue core assignment.
iflib: Better control over queue core assignment
Apr 25 2019, 9:25 PM
shurd closed D20029: Better control over queue core assignment.
Apr 25 2019, 9:25 PM
shurd added inline comments to D20029: Better control over queue core assignment.
Apr 25 2019, 5:43 PM
shurd updated the diff for D20029: Better control over queue core assignment.

"Reference" count core offsets and free() when all drivers unloaded.

Apr 25 2019, 5:40 PM

Apr 24 2019

shurd added inline comments to D20029: Better control over queue core assignment.
Apr 24 2019, 8:36 PM
shurd updated the diff for D20029: Better control over queue core assignment.

Fix style(), clean up default sysctl values, log message on malloc() failure.

Apr 24 2019, 8:31 PM
shurd added a comment to D20031: Allow control over initial state of RTS and DTR lines.

Tagging @ian as well, as he may be interested in this for $work purposes.

I think this also needs to cover the DTR|RTS setting in ucom_open (^/sys/dev/usb/serial/usb_serial.c) for completeness sake, but I defer to @imp and @ian as they've likely got better intuition of how that should work.

Apr 24 2019, 4:26 PM

Apr 23 2019

shurd created D20031: Allow control over initial state of RTS and DTR lines.
Apr 23 2019, 8:47 PM
shurd added inline comments to D20029: Better control over queue core assignment.
Apr 23 2019, 7:11 PM
shurd created D20029: Better control over queue core assignment.
Apr 23 2019, 7:09 PM

Apr 22 2019

shurd committed rP499604: Fix multi-screen size handling, and fix test for wxWidgets.
Fix multi-screen size handling, and fix test for wxWidgets
Apr 22 2019, 5:45 AM

Apr 19 2019

shurd added a comment to D16402: Add TIOCFBAUD UART ioctl to allow fractional baudrates.

I'd really like to see this part split out into a separate review and committed soon, because it shouldn't see any contention- it adds control that is desirable to the people that know they need it, and doesn't really affect anyone else.

Apr 19 2019, 5:50 PM
shurd committed rP499373: Update to 4.1.26.
Update to 4.1.26
Apr 19 2019, 3:59 PM
shurd committed rP499342: Update to 1.3.2.
Update to 1.3.2
Apr 19 2019, 9:24 AM
shurd committed rP499340: Update to 0.9.7.2.
Update to 0.9.7.2
Apr 19 2019, 9:13 AM
shurd committed rP499338: Update to 1.3.5.
Update to 1.3.5
Apr 19 2019, 8:57 AM
shurd committed rP499337: Update to version 1.3.43.
Update to version 1.3.43
Apr 19 2019, 8:47 AM
shurd committed rP499336: Update to 1.2.6.
Update to 1.2.6
Apr 19 2019, 8:38 AM
shurd committed rP499334: Update to 4.1.02.
Update to 4.1.02
Apr 19 2019, 8:36 AM
shurd committed rP499330: Update to 9.3.3.
Update to 9.3.3
Apr 19 2019, 7:43 AM

Apr 17 2019

shurd committed rP499145: MFH: r499037.
MFH: r499037
Apr 17 2019, 3:01 AM

Apr 15 2019

shurd committed rP499037: Fix build when hamlib is installed..
Fix build when hamlib is installed.
Apr 15 2019, 5:52 PM

Mar 27 2019

shurd accepted D19652: iflib: return ENETDOWN when the network device is down.

lgtm

Mar 27 2019, 5:47 PM
shurd accepted D19645: add pfil hooks to iflib.
Mar 27 2019, 5:45 PM
shurd accepted D19604: iflib: hold the CTX lock in iflib_pseudo_register.

Looks good to me.

Mar 27 2019, 5:31 PM

Mar 14 2019

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

lgtm

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

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

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

Accepted. (derp)

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

lgtm

Mar 14 2019, 4:59 PM

Feb 28 2019

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

LGTM

Feb 28 2019, 6:01 PM

Feb 22 2019

shurd committed rS344472: MFC r333131:.
MFC r333131:
Feb 22 2019, 6:25 PM
shurd committed rS344471: MFC r344162:.
MFC r344162:
Feb 22 2019, 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