Page MenuHomeFreeBSD

chuck (Chuck Tuffli)
User

Projects

User Details

User Since
Dec 7 2017, 1:03 PM (232 w, 2 d)

Recent Activity

Apr 14 2022

chuck accepted D34870: nvme: Remove NVME_MAX_XFER_SIZE, replace inline calculation.
Apr 14 2022, 4:03 PM
chuck accepted D34869: nvme: Use saved mps when initializing drive.
Apr 14 2022, 3:50 PM
chuck accepted D34868: nvme: Rename min_page_size to page_size and save mps.
Apr 14 2022, 3:18 PM
chuck accepted D34866: nvme: Fix old intel alignment size.
Apr 14 2022, 3:08 PM
chuck accepted D34867: nvme: Base maximum data transfer size directly on MPSMIN in cap_hi.
Apr 14 2022, 3:06 PM
chuck accepted D34865: nvme: Define NVME_MPS_SHIFT.
Apr 14 2022, 2:43 PM

Apr 5 2022

chuck added inline comments to D32802: bhyve: return FEATURE_NOT_CHANGEABLE for unimplemented feature of NVMe controller.
Apr 5 2022, 12:11 AM
chuck added a comment to D32831: bhyve: implement SELF-TEST feature for NVMe controller.

I apologize if my word choice was poor. By "synthetic", I meant the emulation would appear to perform a self-test, but in fact would not perform any tests at all. How would this benefit a guest?

Apr 5 2022, 12:07 AM

Apr 4 2022

chuck added a comment to D32903: bhyve: implement Timestamp get/set feature for NVMe controller.

From NVMe spec(1.4c), here is the quota:
https://nvmexpress.org/wp-content/uploads/NVM-Express-1_4c-2021.06.28-Ratified.pdf

Timestamp values should not be used for security applications. Other application use of the Timestamp is outside the scope of this specification.

The specification didn't say it relates to Persistent Logs and/or Events. so I just implement it as spec documents.

Apr 4 2022, 11:56 PM
chuck added a comment to D32558: bhyve: initial PowerCycles value and implement PowerOnHours caculation.

D24202 is not a good example as the compliance tests check some of those values. To the best of my knowledge, the tests do not check power on hours.

Apr 4 2022, 11:48 PM
chuck accepted D32659: bhyve: fix incorrect Slot1 Read Only setting in NVMe controller..
Apr 4 2022, 11:44 PM
chuck added a comment to D32657: bhyve: Fix the wrong Number of Power States Support value also set a reasonable Max Power for NVMe controller.

After getting some clarification on the wording in the specification (which generated an ECN ...), my preference would be to set NPSS to zero but not report any power state information. I.e. all fields of power_state[0] would be zero. Since pci_nvme_init() uses calloc to allocate the softc (which includes the struct nvme_controller_data), I believe all initialization of cd->power_state can be removed from pci_nvme_init_ctrldata().

Apr 4 2022, 11:41 PM

Mar 29 2022

chuck accepted D34707: nvme: MPS is a power of two.
Mar 29 2022, 8:43 PM

Mar 28 2022

chuck added a comment to D32903: bhyve: implement Timestamp get/set feature for NVMe controller.

This does not appear to implement either Set or Get correctly. For example, it does not use the Timestamp Origin field on Get's.

Mar 28 2022, 5:48 PM
chuck added a comment to D32657: bhyve: Fix the wrong Number of Power States Support value also set a reasonable Max Power for NVMe controller.

Give me a few days to check on some wording in the specification.

Mar 28 2022, 5:28 PM
chuck added a comment to D32798: bhyve: implement get-feature of LBA range type of NVMe controller.

What is the long term plan for this functionality? Applications can use LBA Range Type to provide usage hints to the Controller such that it can optimize its performance characteristics. Are there kernels / applications out there that use this functionality? If so, is the goal to use these hints to modify the emulation's behavior?

Mar 28 2022, 4:21 PM

Mar 27 2022

chuck added a comment to D32831: bhyve: implement SELF-TEST feature for NVMe controller.

While I agree that using emulated hardware to test drivers and system tools is useful, I'm concerned about adding synthetic functionality to the core code.

Mar 27 2022, 2:14 PM
chuck accepted D32658: bhyve: initial Active Firmware Info for NVMe controller.
Mar 27 2022, 1:59 PM
chuck requested changes to D32659: bhyve: fix incorrect Slot1 Read Only setting in NVMe controller..
Mar 27 2022, 1:57 PM
chuck requested changes to D32558: bhyve: initial PowerCycles value and implement PowerOnHours caculation.

After some further thought, I've changed my mind and don't believe it makes sense to include the "power on hours" calculation. The goal of this value in actual hardware is to provide a (weak) heuristic to predict when to replace the drive. But this doesn't make sense for an emulated drive. Correcting the initialization of power on count seems like a good change, but the addition of a synthetic hours doesn't.

Mar 27 2022, 1:51 PM

Mar 17 2022

chuck committed R9:ce683fa53c74: Add my (chuck@) updated PGP key. (authored by chuck).
Add my (chuck@) updated PGP key.
Mar 17 2022, 4:53 PM

Feb 28 2022

chuck added a comment to D34372: bhyve: missing mutex initialisations.
In D34372#778858, @rew wrote:

I didn't realize that these mutex's get initialized on FreeBSD, even without your patch.

I didn't either, but it seems that the rest of bhyve is not relying on that behaviour and it's not defined by POSIX nor in the pthread_mutex_lock.3 man page.

Feb 28 2022, 4:20 PM

Feb 27 2022

chuck committed R10:0f26e9f2e26e: bhyve nvme: Advertise Namespace changed AEN (authored by chuck).
bhyve nvme: Advertise Namespace changed AEN
Feb 27 2022, 6:17 PM
chuck committed R10:c55ba19b7029: nvme: Add OAES bit-field definitions (authored by chuck).
nvme: Add OAES bit-field definitions
Feb 27 2022, 6:17 PM
chuck committed R10:7de3a3e919ec: nvme: fix spelling of Namespace (authored by chuck).
nvme: fix spelling of Namespace
Feb 27 2022, 6:17 PM
chuck committed R10:9300a0eb6b4d: RELNOTES: Add entry for bhyve NVMe 1.4 support (authored by chuck).
RELNOTES: Add entry for bhyve NVMe 1.4 support
Feb 27 2022, 6:17 PM

Feb 26 2022

chuck accepted D34372: bhyve: missing mutex initialisations.

LGTM

Feb 26 2022, 6:28 PM

Feb 23 2022

chuck closed D34331: bhyve nvme: Advertise Namespace changed AEN.
Feb 23 2022, 5:23 PM
chuck committed R10:e0ac9dc2b069: bhyve nvme: Advertise Namespace changed AEN (authored by chuck).
bhyve nvme: Advertise Namespace changed AEN
Feb 23 2022, 5:23 PM

Feb 21 2022

chuck committed R10:eae02d959363: bhyve nvme: Fix Identify Namespace, NSID=ffffffff (authored by chuck).
bhyve nvme: Fix Identify Namespace, NSID=ffffffff
Feb 21 2022, 9:59 PM
chuck committed R10:3286533a1cee: bhyve nvme: Fix reported VWC value (authored by chuck).
bhyve nvme: Fix reported VWC value
Feb 21 2022, 9:59 PM
chuck committed R10:d9685b5787b3: bhyve nvme: Fix Set Features, AEN (authored by chuck).
bhyve nvme: Fix Set Features, AEN
Feb 21 2022, 9:59 PM
chuck committed R10:541ff74584e1: bhyve nvme: Fix LBA out-of-range calculation (authored by chuck).
bhyve nvme: Fix LBA out-of-range calculation
Feb 21 2022, 9:59 PM
chuck committed R10:3444d620b2a4: bhyve nvme: Add Select support to Get Features (authored by chuck).
bhyve nvme: Add Select support to Get Features
Feb 21 2022, 9:59 PM
chuck committed R10:06ec065bede0: bhyve nvme: Update v1.4 Identify Controller data (authored by chuck).
bhyve nvme: Update v1.4 Identify Controller data
Feb 21 2022, 9:59 PM
chuck committed R10:0bb86659cbca: bhyve nvme: Add Temperature Threshold support (authored by chuck).
bhyve nvme: Add Temperature Threshold support
Feb 21 2022, 9:58 PM
chuck committed R10:6e5e38c241e6: bhyve nvme: Fix Set Features (authored by chuck).
bhyve nvme: Fix Set Features
Feb 21 2022, 9:58 PM
chuck committed R10:d4941306264f: bhyve nvme: Remove redundant AER Limit checks (authored by chuck).
bhyve nvme: Remove redundant AER Limit checks
Feb 21 2022, 9:58 PM
chuck committed R10:8f65e94045f4: bhyve nvme: Implement Log Page Offset (authored by chuck).
bhyve nvme: Implement Log Page Offset
Feb 21 2022, 9:58 PM
chuck committed R10:ae60b4cfe14b: bhyve nvme: Add missing Admin opcodes (authored by chuck).
bhyve nvme: Add missing Admin opcodes
Feb 21 2022, 9:58 PM
chuck committed R10:29f50a83cc52: bhyve nvme: Fix Namespace Specific Set Features (authored by chuck).
bhyve nvme: Fix Namespace Specific Set Features
Feb 21 2022, 9:58 PM
chuck committed R10:3d681a9a8009: bhyve nvme: Fix NVM Format completion status (authored by chuck).
bhyve nvme: Fix NVM Format completion status
Feb 21 2022, 9:58 PM
chuck committed R10:bed94664db02: bhyve nvme: Advertise v1.4 support (authored by chuck).
bhyve nvme: Advertise v1.4 support
Feb 21 2022, 9:58 PM
chuck committed R10:67fa95bf0c0b: bhyve nvme: Inform guests of namespace resize (authored by chuck).
bhyve nvme: Inform guests of namespace resize
Feb 21 2022, 9:58 PM
chuck committed R10:c7c490ddef9f: bhyve nvme: Add AEN support to NVMe emulation (authored by chuck).
bhyve nvme: Add AEN support to NVMe emulation
Feb 21 2022, 9:58 PM
chuck committed R10:1685d8368c2f: bhyve blockif: fix blockif_candelete with Capsicum (authored by chuck).
bhyve blockif: fix blockif_candelete with Capsicum
Feb 21 2022, 9:58 PM
chuck committed R10:b7a2cf0d9102: bhyve: fix NVMe MDTS comment (authored by chuck).
bhyve: fix NVMe MDTS comment
Feb 21 2022, 9:58 PM
chuck closed D34330: nvme: fix spelling of Namespace.
Feb 21 2022, 6:55 PM
chuck committed R10:c2318cf80a9e: nvme: fix spelling of Namespace (authored by chuck).
nvme: fix spelling of Namespace
Feb 21 2022, 6:55 PM
chuck closed D34300: nvme: Add OAES bit-field definitions.
Feb 21 2022, 6:54 PM
chuck committed R10:e71afa120275: nvme: Add OAES bit-field definitions (authored by chuck).
nvme: Add OAES bit-field definitions
Feb 21 2022, 6:54 PM
chuck updated subscribers of D34331: bhyve nvme: Advertise Namespace changed AEN.
Feb 21 2022, 3:21 PM
chuck added a comment to D32953: bhyve nvme: Inform guests of namespace resize.

I think the whole set of these (OAES) definitions should probably end up in sys/dev/nvme/nvme.h anyway, like the NVME_CTRLR_DATA_OACS_* ones that are already there.

Feb 21 2022, 3:20 PM
chuck requested review of D34331: bhyve nvme: Advertise Namespace changed AEN.
Feb 21 2022, 3:19 PM
chuck requested review of D34330: nvme: fix spelling of Namespace.
Feb 21 2022, 3:17 PM

Feb 20 2022

chuck updated the diff for D34300: nvme: Add OAES bit-field definitions.

Added missing mask for Endurance Group (bit 14) and added new
definitions from the 2.0 specification

Feb 20 2022, 3:03 PM

Feb 16 2022

chuck added a comment to D34300: nvme: Add OAES bit-field definitions.

The new OAES defines are probably fine, but I'd like some feedback on the NVMEB() helper macro. Do you like it? Hate it? Have a better approach? Better name?

Feb 16 2022, 2:59 PM
chuck requested review of D34300: nvme: Add OAES bit-field definitions.
Feb 16 2022, 2:58 PM

Feb 7 2022

chuck abandoned D34194: Stupid commit, part 2.
Feb 7 2022, 6:17 PM
chuck abandoned D34193: Stupid commit.
Feb 7 2022, 6:16 PM
chuck requested review of D34194: Stupid commit, part 2.
Feb 7 2022, 6:13 PM
chuck requested review of D34193: Stupid commit.
Feb 7 2022, 6:13 PM

Feb 3 2022

chuck added a comment to D32953: bhyve nvme: Inform guests of namespace resize.

I'm in the process of porting this change over to illumos, and it looks like we should also be setting the appropriate bit in the oaes field in nvme_controller_data.

At present, nvme identify does not indicate the capability:

Feb 3 2022, 4:48 PM

Jan 29 2022

chuck committed R10:ac678b4aaf1e: bhyve nvme: Fix Identify Namespace, NSID=ffffffff (authored by chuck).
bhyve nvme: Fix Identify Namespace, NSID=ffffffff
Jan 29 2022, 11:18 PM
chuck closed D33578: bhyve nvme: Fix Identify Namespace, NSID=ffffffff.
Jan 29 2022, 11:18 PM
chuck committed R10:fa263c532bee: bhyve nvme: Fix Set Features, AEN (authored by chuck).
bhyve nvme: Fix Set Features, AEN
Jan 29 2022, 11:18 PM
chuck committed R10:ff5ed0fac420: bhyve nvme: Fix reported VWC value (authored by chuck).
bhyve nvme: Fix reported VWC value
Jan 29 2022, 11:18 PM
chuck closed D33576: bhyve nvme: Fix reported VWC value.
Jan 29 2022, 11:18 PM
chuck committed R10:9d8cd04694d4: bhyve nvme: Fix LBA out-of-range calculation (authored by chuck).
bhyve nvme: Fix LBA out-of-range calculation
Jan 29 2022, 11:18 PM
chuck committed R10:073f2076fea4: bhyve nvme: Add Select support to Get Features (authored by chuck).
bhyve nvme: Add Select support to Get Features
Jan 29 2022, 11:18 PM
chuck committed R10:29241c96f75b: bhyve nvme: Update v1.4 Identify Controller data (authored by chuck).
bhyve nvme: Update v1.4 Identify Controller data
Jan 29 2022, 11:18 PM
chuck closed D33577: bhyve nvme: Fix Set Features, AEN.
Jan 29 2022, 11:18 PM
chuck closed D33575: bhyve nvme: Fix LBA out-of-range calculation.
Jan 29 2022, 11:18 PM
chuck closed D33573: bhyve nvme: Update v1.4 Identify Controller data.
Jan 29 2022, 11:18 PM
chuck committed R10:ea9ee35583a8: bhyve nvme: Add Temperature Threshold support (authored by chuck).
bhyve nvme: Add Temperature Threshold support
Jan 29 2022, 11:18 PM
chuck closed D33574: bhyve nvme: Add Select support to Get Features.
Jan 29 2022, 11:18 PM
chuck committed R10:1381a118297c: bhyve nvme: Fix Set Features (authored by chuck).
bhyve nvme: Fix Set Features
Jan 29 2022, 11:18 PM
chuck closed D33572: bhyve nvme: Add Temperature Threshold support.
Jan 29 2022, 11:18 PM
chuck closed D33571: bhyve nvme: Fix Set Features.
Jan 29 2022, 11:17 PM
chuck committed R10:45ab4076f36b: bhyve nvme: Remove redundant AER Limit checks (authored by chuck).
bhyve nvme: Remove redundant AER Limit checks
Jan 29 2022, 11:17 PM
chuck closed D33570: bhyve nvme: Remove redundant AER Limit checks.
Jan 29 2022, 11:17 PM
chuck closed D33569: bhyve nvme: Add missing Admin opcodes.
Jan 29 2022, 11:17 PM
chuck committed R10:785b5da318bf: bhyve nvme: Add missing Admin opcodes (authored by chuck).
bhyve nvme: Add missing Admin opcodes
Jan 29 2022, 11:17 PM
chuck closed D33566: bhyve nvme: Fix Namespace Specific Set Features.
Jan 29 2022, 11:17 PM
chuck closed D33568: bhyve nvme: Implement Log Page Offset.
Jan 29 2022, 11:17 PM
chuck committed R10:b1b2a4d9e87e: bhyve nvme: Implement Log Page Offset (authored by chuck).
bhyve nvme: Implement Log Page Offset
Jan 29 2022, 11:17 PM
chuck committed R10:62d47feceba8: bhyve nvme: Fix Namespace Specific Set Features (authored by chuck).
bhyve nvme: Fix Namespace Specific Set Features
Jan 29 2022, 11:17 PM
chuck closed D33565: bhyve nvme: Fix NVM Format completion status.
Jan 29 2022, 11:16 PM
chuck closed D33564: bhyve nvme: Advertise v1.4 support.
Jan 29 2022, 11:16 PM
chuck committed R10:595a12f18bc4: bhyve nvme: Advertise v1.4 support (authored by chuck).
bhyve nvme: Advertise v1.4 support
Jan 29 2022, 11:16 PM
chuck committed R10:cf76cdd4bf05: bhyve nvme: Fix NVM Format completion status (authored by chuck).
bhyve nvme: Fix NVM Format completion status
Jan 29 2022, 11:16 PM
chuck added a comment to D33578: bhyve nvme: Fix Identify Namespace, NSID=ffffffff.
In D33578#759871, @imp wrote:

This one surprises me, but I'll defer to the UNH tests

Jan 29 2022, 10:49 PM
chuck updated the diff for D33577: bhyve nvme: Fix Set Features, AEN.

Removed magic number

Jan 29 2022, 9:00 PM
chuck updated the diff for D33573: bhyve nvme: Update v1.4 Identify Controller data.

NVMe compliance test is wrong, thus dropping SANICAP changes.
Also, don't advertise secure erase

Jan 29 2022, 8:56 PM
chuck added a comment to D33570: bhyve nvme: Remove redundant AER Limit checks.
In D33570#759866, @imp wrote:

I don't see the 'while in the area' changes, so omit that from the final commit message.

Jan 29 2022, 8:25 PM

Jan 28 2022

chuck abandoned D33567: bhyve nvme: Implement LBA Range Type feature.

Dropping this feature as it is not mandatory

Jan 28 2022, 7:49 PM

Jan 11 2022

chuck updated the diff for D33575: bhyve nvme: Fix LBA out-of-range calculation.

Fix regression reported in Alma Linux + Windows

Jan 11 2022, 5:43 PM
chuck added a comment to D32831: bhyve: implement SELF-TEST feature for NVMe controller.

Can you help me understand the value to a guest operating system for supporting self-test? Is any of that value negated because the implementation does not perform any testing or checks?

Jan 11 2022, 12:28 AM

Dec 23 2021

chuck updated the diff for D33572: bhyve nvme: Add Temperature Threshold support.

Reduced size of tmpsel

Dec 23 2021, 9:26 PM
chuck added inline comments to D33572: bhyve nvme: Add Temperature Threshold support.
Dec 23 2021, 9:23 PM