Page MenuHomeFreeBSD

nvme: Nvme controller generated events
Needs ReviewPublic

Authored by imp on Jul 17 2025, 7:51 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 16, 1:46 PM
Unknown Object (File)
Sun, Nov 16, 5:12 AM
Unknown Object (File)
Fri, Nov 14, 6:21 PM
Unknown Object (File)
Mon, Oct 27, 6:10 AM
Unknown Object (File)
Wed, Oct 22, 1:30 AM
Unknown Object (File)
Wed, Oct 22, 1:30 AM
Unknown Object (File)
Tue, Oct 21, 10:05 PM
Unknown Object (File)
Tue, Oct 21, 1:57 PM
Subscribers

Details

Summary

Interface for the nvme driver notifying its children of different
events: async notifications, namespace events and device failure. These
aren't yet connected.

Sponsored by: Netflix

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 68653
Build 65536: arc lint + arc unit

Event Timeline

sys/dev/nvme/nvmec_if.m
9 ↗(On Diff #158693)

Just "nvme"?

18 ↗(On Diff #158693)

I would perhaps name these as ns_added, ns_removed, ns_changed similar to BUS_CHILD_DELETED.

26 ↗(On Diff #158693)

We can afford to spell out "remove" I think.

42 ↗(On Diff #158693)

controller_failed?

49 ↗(On Diff #158693)

handle_aen?

sys/dev/nvme/nvmec_if.m
9 ↗(On Diff #158693)

I chose nvmec to mirror the pcib vs pci separation. But I've never known quite how to differentiate the interfaces that children need to implement that this driver will call from the interfaces I implement for my children to call. Usually it's just one or the other, but I was anticipating needing to have upcalls as well as downcalls (though I couldn't tell you which is which in newbus speak).

18 ↗(On Diff #158693)

That's not a bad idea. I hacked through these interfaces in a hurry.

42 ↗(On Diff #158693)

Likely better. This name is the same as we had before with the 'consumer' thing.

49 ↗(On Diff #158693)

Same.

imp retitled this revision from nvmec: Nvme controller generated events to nvme: Nvme controller generated events.Thu, Nov 13, 11:23 PM

Update per review, add missing change