Page MenuHomeFreeBSD
Feed Advanced Search

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

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