Page MenuHomeFreeBSD

kbowling (Kevin Bowling)
Logistics

Projects

User Details

User Since
Jun 6 2015, 10:46 PM (586 w, 5 d)

Recent Activity

Today

kbowling added inline comments to D59328: iflib: Track queue datapath lifecycle.
Fri, Sep 4, 10:25 AM
kbowling updated the diff for D59328: iflib: Track queue datapath lifecycle.
Fri, Sep 4, 10:23 AM
kbowling added a comment to D59329: iflib: Own queue quiescence during power transitions.

ifdi_power_prepare or whatever lands will also be used in a followup commit to disarm the ixgbe firmware recovery task when the device is suspended.

Fri, Sep 4, 10:01 AM
kbowling added inline comments to D59329: iflib: Own queue quiescence during power transitions.
Fri, Sep 4, 7:29 AM
kbowling accepted D59327: tpm: crb: make the Pluton startmethod more resilient.
Fri, Sep 4, 3:38 AM

Yesterday

kbowling added inline comments to D58778: ifconfig: Add SR-IOV VF status output.
Thu, Sep 3, 12:17 PM
kbowling added inline comments to D59327: tpm: crb: make the Pluton startmethod more resilient.
Thu, Sep 3, 12:09 PM
kbowling requested review of D59340: ice: Defer RDMA critical-error notifications.
Thu, Sep 3, 12:03 PM
kbowling requested review of D59339: ice: Use sleepable locks in shared code.
Thu, Sep 3, 12:01 PM
kbowling updated the diff for D59337: ixl: Tie statistics baselines to hardware resource epochs.
Thu, Sep 3, 11:05 AM
kbowling requested review of D59337: ixl: Tie statistics baselines to hardware resource epochs.
Thu, Sep 3, 11:00 AM
kbowling requested review of D59336: ixl: Reset VSI statistics after initial sampling.
Thu, Sep 3, 10:58 AM
kbowling added a comment to D19279: ix(4): Fix SRIOV initialization.

@ziaee yes this is overcome by b6cd053e6da9 no remaining changes are needed from this.

Thu, Sep 3, 9:02 AM
kbowling requested review of D59335: ice: Re-enable link after reset when link-on-down is disabled.
Thu, Sep 3, 8:14 AM
kbowling requested changes to D59327: tpm: crb: make the Pluton startmethod more resilient.
Thu, Sep 3, 7:25 AM
kbowling updated the diff for D59300: ice: Refresh link status on first initialization.

Add an attach-only refresh latch instead of overloading. Reset recovery still skips redundant PHY programming without republishing link. Reset preparation clears any obsolete attach refresh.

Thu, Sep 3, 6:36 AM
kbowling requested review of D59331: ice: Quiesce queues after partial initialization.
Thu, Sep 3, 6:34 AM
kbowling added a comment to D59328: iflib: Track queue datapath lifecycle.

Some background on this change is perhaps worth sharing.. I was originally chasing the up/down/up dance on boot, seeing if I could improve boot speed by carefully driving initial ifnet status through a state machine. But the majority of the time is spent in PHY code so doing something careful in iflib only shaved off xx-xxx milliseconds. Therefore the initial investigation is more of a driver state machine problem, and ice(4) has a good example of doing link state well. This ends up closing a few gaps anyway so here is just the lifecycle relevant part, and it lends naturally to the PM state machine that is a child of this review.

Thu, Sep 3, 6:17 AM
kbowling requested review of D59330: iflib: Reject media changes during suspend.
Thu, Sep 3, 4:25 AM
kbowling requested review of D59329: iflib: Own queue quiescence during power transitions.
Thu, Sep 3, 4:23 AM
kbowling requested review of D59328: iflib: Track queue datapath lifecycle.
Thu, Sep 3, 4:21 AM

Wed, Sep 2

kbowling added inline comments to D59321: iflib: update rs_pending based on descriptors consumed by isc_txd_encap.
Wed, Sep 2, 11:17 PM
kbowling updated the diff for D58638: iflib: Plumb per-packet RX hardware timestamps from drivers to mbufs.
Wed, Sep 2, 8:39 PM
kbowling commandeered D58638: iflib: Plumb per-packet RX hardware timestamps from drivers to mbufs.

@sumit.saxena_broadcom.com I'm going to help this along since it just needs some trivial changes to lang, I will retain you as the author

Wed, Sep 2, 8:38 PM
kbowling closed D59204: iflib: Require sustained demand for TX watchdog.

Committed as a550e8280b98

Wed, Sep 2, 5:40 PM
kbowling accepted D59321: iflib: update rs_pending based on descriptors consumed by isc_txd_encap.

I think this is a strict accounting improvement. e1000 manufactures some descriptors in a couple situations to work around hw errata, although I'm not sure that direct RS wb would've faulted.

Wed, Sep 2, 4:38 PM

Tue, Sep 1

kbowling updated the diff for D59294: iflib: Do not hold the ifnet lock across registration.

Switch back to removal. I don't think this is merely a WITNESS ordering issue now, 2f8f892ca344 may cause a timing sensitive deadlock with the existing registration lock and @netchild is hitting it.

Tue, Sep 1, 11:51 PM
kbowling added a comment to D59294: iflib: Do not hold the ifnet lock across registration.

Did the original version of this review removed use of IFNET_WLOCK completely? If I understand phabricator correct, that would be URL https://reviews.freebsd.org/D59294?id=185524 I also would prefer this.

Tue, Sep 1, 5:55 PM
kbowling requested review of D59300: ice: Refresh link status on first initialization.
Tue, Sep 1, 9:30 AM

Mon, Aug 31

kbowling added a comment to D59294: iflib: Do not hold the ifnet lock across registration.

@glebius this does not resolve the WITNESS panic between e0e12405285b6 and 2f8f892ca344

Mon, Aug 31, 11:57 PM
kbowling updated the diff for D59294: iflib: Do not hold the ifnet lock across registration.

Limit this change to the fe00ca2f8871 regression

Mon, Aug 31, 11:45 PM
kbowling added a reviewer for D59294: iflib: Do not hold the ifnet lock across registration: vmaffione.
Mon, Aug 31, 11:36 PM
kbowling added a comment to D59289: ifnet: Traverse interface groups under the network epoch.

https://reviews.freebsd.org/D59294

Mon, Aug 31, 11:34 PM
kbowling requested review of D59294: iflib: Do not hold the ifnet lock across registration.
Mon, Aug 31, 11:34 PM
kbowling added a comment to D59289: ifnet: Traverse interface groups under the network epoch.

@glebius I am stress testing a fix for the fail point registration, I will tag you when I post it.

Mon, Aug 31, 11:16 PM
kbowling abandoned D59289: ifnet: Traverse interface groups under the network epoch.

Agreed, abandoning this approach

Mon, Aug 31, 11:05 PM
kbowling requested review of D59289: ifnet: Traverse interface groups under the network epoch.
Mon, Aug 31, 3:22 PM

Sun, Aug 30

kbowling abandoned D31625: e1000: Make em_enable_wakeup family aware.
Sun, Aug 30, 5:14 AM
kbowling updated the diff for D59240: tpm20: Harden the common device lifecycle.

address feedback

Sun, Aug 30, 4:25 AM
kbowling updated the diff for D58940: ice: Add a failure injection facility.

address ice(4)

Sun, Aug 30, 4:24 AM
kbowling added inline comments to D59196: tpm20: Initialize common state before testing TIS interrupts.
Sun, Aug 30, 4:01 AM
kbowling updated the diff for D59195: tpm20: Validate suspend and resume commands.

address feedback

Sun, Aug 30, 3:58 AM
kbowling updated the diff for D59204: iflib: Require sustained demand for TX watchdog.

iflib(4) change

Sun, Aug 30, 3:42 AM

Sat, Aug 29

kbowling added a comment to D59204: iflib: Require sustained demand for TX watchdog.

My build is still running on the old hardware where I can test this.
Quick check, if I get it right:

  • this solves the issue where demand is false on the next period.
  • this does not solve an issue where ~1 packet per period is send while more than one is in the queue (no idea if this is behavior we can see in the real world): growth every period → demand true every period → armed reaches 4 → still resets.
Sat, Aug 29, 9:57 AM
kbowling added a comment to D30094: ixgbe: Enable AIM by default.

This is unsafe as is, and needs a broader pass so you can close it.

Sat, Aug 29, 12:57 AM
kbowling added a comment to D30155: ixgbe: Bring back accounting for tx in AIM.

Still relevant. No.

Sat, Aug 29, 12:56 AM

Fri, Aug 28

kbowling added a comment to D59239: tpm: Harvest entropy from TPM 1.2 devices.

FWIW- I think the change is largely fine, but the main thought I had when looking at it initially is that it might be worth having its own RANDOM_PURE_TPM12 just in case one wanted to disable just entropy from older chips in their own generic images. We only have something like 4 bits left for new sources at the moment, though, so that kind of needs more deliberation. OTOH, Fortuna's design (as I understand it) means that it doesn't really matter if this single source is lower quality as long as it's not completely broken.

Fri, Aug 28, 11:34 PM
kbowling accepted D59258: bnxt.4: Canonicalize SYNOPSIS.
Fri, Aug 28, 11:20 PM
kbowling accepted D59248: x11/nvidia-driver, x11/nvidia-kmod, x11/linux-nvidia-libs, graphics/nvidia-drm*-kmod, x11/nvidia-settings, x11/nvidia-xconfig: Update to 595.99.02.
Fri, Aug 28, 9:58 AM
kbowling added inline comments to D58940: ice: Add a failure injection facility.
Fri, Aug 28, 6:17 AM
kbowling updated the diff for D58940: ice: Add a failure injection facility.

address license format and man page

Fri, Aug 28, 6:17 AM
kbowling added a comment to D59239: tpm: Harvest entropy from TPM 1.2 devices.

Thanks for adding csprng. One thing that bears a bit of scrutiny here and the existing tpm20 collector is the registered quality level. https://trustedcomputinggroup.org/resource/sha-1-uses-in-tpm-v1-2/ claims the SHA-1 mixing function does not materially degrade the output and I can link some papers that claim they tend to outperform PRNGs. In a tpm20, you generally have a high(er) quality random source and mixing function, but it could also be a vTPM proxying CPU rdrand or the like.

Fri, Aug 28, 4:43 AM
kbowling updated the diff for D59245: tpm20: Move user copies outside the lifecycle lock.

Apply uio finding from @kevans to tpm20

Fri, Aug 28, 4:31 AM
kbowling updated the diff for D59238: tpm: Move user copies outside the TPM 1.2 lock.

It's a good catch, The TPM wait paths can return errnos, which the write converts into a succcessful short write once uio_resid has chaged. I restored the original residual when a post-copy TPM op fails, and preserve the short count only after sc_end() succeeds.

Fri, Aug 28, 4:29 AM
kbowling added inline comments to D59211: tpm: Remove Giant from the TPM 1.2 driver.
Fri, Aug 28, 4:12 AM
kbowling updated the diff for D59237: tpm: Bound TPM 1.2 locality ownership.

Add locality acquire assertion. Release side would be trickier since it is used in abort and cleanup.

Fri, Aug 28, 4:02 AM
kbowling requested review of D59247: amd64, powerpc: Enable tpm(4) in supported kernels.
Fri, Aug 28, 1:59 AM
kbowling requested review of D59246: tpm20: Preserve all harvested random bytes.
Fri, Aug 28, 1:45 AM
kbowling requested review of D59245: tpm20: Move user copies outside the lifecycle lock.
Fri, Aug 28, 1:41 AM
kbowling added a comment to D59244: tpm20: Correct 32-bit register helpers.

OpenBSD carries the same BIT change.

Fri, Aug 28, 1:16 AM
kbowling requested review of D59244: tpm20: Correct 32-bit register helpers.
Fri, Aug 28, 1:16 AM
kbowling requested review of D59243: tpm20: Release transport state after command failures.
Fri, Aug 28, 1:14 AM
kbowling updated the diff for D59241: tpm_tis: Close interrupt wait races.
Fri, Aug 28, 1:07 AM
kbowling requested review of D59241: tpm_tis: Close interrupt wait races.
Fri, Aug 28, 12:55 AM
kbowling requested review of D59240: tpm20: Harden the common device lifecycle.
Fri, Aug 28, 12:53 AM
kbowling requested review of D59239: tpm: Harvest entropy from TPM 1.2 devices.
Fri, Aug 28, 12:43 AM
kbowling requested review of D59238: tpm: Move user copies outside the TPM 1.2 lock.
Fri, Aug 28, 12:11 AM

Thu, Aug 27

kbowling requested review of D59237: tpm: Bound TPM 1.2 locality ownership.
Thu, Aug 27, 11:45 PM
kbowling requested review of D59211: tpm: Remove Giant from the TPM 1.2 driver.
Thu, Aug 27, 12:33 PM
kbowling added a reviewer for D59197: tpm_tis: Restore validated interrupts after resume: seuros.
Thu, Aug 27, 11:05 AM
kbowling added a reviewer for D59196: tpm20: Initialize common state before testing TIS interrupts: seuros.
Thu, Aug 27, 11:05 AM
kbowling added a reviewer for D59195: tpm20: Validate suspend and resume commands: seuros.
Thu, Aug 27, 11:04 AM
kbowling added a reviewer for D59193: tpm: Restore TPM 1.2 TIS state after resume: seuros.
Thu, Aug 27, 11:04 AM
kbowling added a reviewer for D59192: tpm: Correct the TPM 1.2 suspend transaction: seuros.
Thu, Aug 27, 11:04 AM
kbowling updated the diff for D58624: pci: Reserve bus numbers required by SR-IOV VFs.

I reworked the implementation around this feedback but I'm not sure it can be done in pcib (please let me know if you see otherwise).

Thu, Aug 27, 10:54 AM
kbowling requested review of D59207: acpi_pci: Cache PCI proximity domains.
Thu, Aug 27, 6:40 AM
kbowling requested review of D59206: acpi_pci: Preserve CPU locality queries for descendants.
Thu, Aug 27, 6:39 AM
kbowling updated the summary of D59063: acpi_pci: Honor device proximity for DMA tags.
Thu, Aug 27, 6:38 AM
kbowling updated the diff for D59063: acpi_pci: Honor device proximity for DMA tags.

address feedback

Thu, Aug 27, 6:37 AM
kbowling requested review of D59204: iflib: Require sustained demand for TX watchdog.
Thu, Aug 27, 2:35 AM

Wed, Aug 26

kbowling requested review of D59197: tpm_tis: Restore validated interrupts after resume.
Wed, Aug 26, 11:47 AM
kbowling requested review of D59196: tpm20: Initialize common state before testing TIS interrupts.
Wed, Aug 26, 11:45 AM
kbowling requested review of D59195: tpm20: Validate suspend and resume commands.
Wed, Aug 26, 11:44 AM
kbowling requested review of D59193: tpm: Restore TPM 1.2 TIS state after resume.
Wed, Aug 26, 11:13 AM
kbowling requested review of D59192: tpm: Correct the TPM 1.2 suspend transaction.
Wed, Aug 26, 11:10 AM
kbowling accepted D58863: intel: add hfsts debug-probe driver for Intel ME/HECI firmware status.
Wed, Aug 26, 10:20 AM · drivers
kbowling added a comment to D58863: intel: add hfsts debug-probe driver for Intel ME/HECI firmware status.

Some followups: Add NOTES entry on commit. Later consider MODULE_PNP_INFO. LGTM.

Wed, Aug 26, 6:27 AM · drivers
kbowling accepted D58863: intel: add hfsts debug-probe driver for Intel ME/HECI firmware status.
Wed, Aug 26, 6:25 AM · drivers

Tue, Aug 25

kbowling added a comment to D58776: rtnetlink: Add native SR-IOV VF status.

I plan to commit this, D58777, D58778 if no more followups are received in the next 48 hours.

Tue, Aug 25, 6:49 PM

Mon, Aug 24

kbowling added a comment to D59141: loader.efi: Measure boot policy and loaded contents with a TPM.
In D59141#1356940, @imp wrote:

Would you rather we commit our changes first and you rebase on top of them, or vice versa since they are complimentary.

Mon, Aug 24, 11:19 PM
kbowling added a comment to D59141: loader.efi: Measure boot policy and loaded contents with a TPM.
In D59141#1356926, @imp wrote:

Here's the work we've done internally that's somewhat similar.

https://github.com/bsdimp/freebsd/tree/tpm-measured-boot

Mon, Aug 24, 11:05 PM
kbowling added a comment to D59141: loader.efi: Measure boot policy and loaded contents with a TPM.

This is deliberately limited to the measurement plumbing. Policy decisions are exciting. For instance, this could be used to drive a full TCB with veriexec(9), sealing keys like GELI or ZFS to boot state, remote attestation, signed containers, a Chain of Trust to externally controlled bhyve VMs, etc but that will come with a lot more weight. When I did this in industry at a financial custodian, we had extremely stringent controls centered around immutable build and release pipelines as otherwise this can become a big pain when you do something trivial like change a loader setting or upgrade etc. So that is left for later experimentation, and decisions for what make sense to ship as an open source general purpose OS.

Mon, Aug 24, 7:09 AM
kbowling requested review of D59141: loader.efi: Measure boot policy and loaded contents with a TPM.
Mon, Aug 24, 7:07 AM

Sun, Aug 23

kbowling updated the diff for D58724: amd_iommu: Bound IVHD device-entry parsing.

address feedback

Sun, Aug 23, 4:05 AM
kbowling added a comment to D58190: em.4: Mention lack of SR-IOV support in BUGS.

@ziaee the igbv(4) linkage and the new SR-IOV section in head we talked about on IRC is an attempt, feel free to massage it as you see fit

Sun, Aug 23, 12:21 AM

Sat, Aug 22

kbowling updated the diff for D59062: acpi_pci: Inherit PF locality for SR-IOV VFs.

Accessor split out to 3481a9cdc4dc

Sat, Aug 22, 3:24 AM
kbowling added a comment to D58370: snd_hdspe: Avoid allocation in the interrupt handler.

Doesn't snd_hdsp(4) need the same?

Sat, Aug 22, 1:15 AM

Fri, Aug 21

kbowling added a comment to D58638: iflib: Plumb per-packet RX hardware timestamps from drivers to mbufs.

Thank you for doing this. I want to eventually add some 1588 stuff to some drivers so this will be a prerequisite. Consider documenting in iflibtxtx(9).

Fri, Aug 21, 10:27 PM
kbowling added inline comments to D58863: intel: add hfsts debug-probe driver for Intel ME/HECI firmware status.
Fri, Aug 21, 5:05 AM · drivers
kbowling accepted D58863: intel: add hfsts debug-probe driver for Intel ME/HECI firmware status.

This is substantively fine, I would fix up these 6 new suggestions and then see if @adrian has any desire for the naming.

Fri, Aug 21, 5:04 AM · drivers