Page MenuHomeFreeBSD

chuck (Chuck Tuffli)
User

Projects

User Details

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

Recent Activity

Wed, Jun 16

chuck closed D30717: bhyve nvme ramdisk backend cli option is broken after configuration management refactor..
Wed, Jun 16, 9:23 PM · bhyve
chuck committed R10:3a4ab18377c8: bhyve: Fix cli regression with NVMe ram (authored by chuck).
bhyve: Fix cli regression with NVMe ram
Wed, Jun 16, 9:23 PM

Tue, Jun 15

chuck updated the diff for D30717: bhyve nvme ramdisk backend cli option is broken after configuration management refactor..

New version with change to strndup

Tue, Jun 15, 2:04 PM · bhyve
chuck commandeered D30717: bhyve nvme ramdisk backend cli option is broken after configuration management refactor..
Tue, Jun 15, 1:41 PM · bhyve

Mon, Jun 14

chuck added a comment to D30717: bhyve nvme ramdisk backend cli option is broken after configuration management refactor..
In D30717#690975, @jhb wrote:

I think I like Chuck's shorter version a bit better

Fine with me (modulo the *cp issue). Should I close this and let Chuck fix it?

Mon, Jun 14, 3:03 PM · bhyve

Fri, Jun 11

chuck added a comment to D30717: bhyve nvme ramdisk backend cli option is broken after configuration management refactor..

Thank you for finding this bug!

Fri, Jun 11, 10:28 PM · bhyve

Thu, Jun 10

chuck added a reviewer for D30717: bhyve nvme ramdisk backend cli option is broken after configuration management refactor.: chuck.
Thu, Jun 10, 2:37 PM · bhyve

May 17 2021

chuck added a comment to D29584: Newly added features and bug fixes in latest Microchip SmartPQI driver..

I have several systems with zpools on top of SAS drives behind an Adaptec Smart Storage PQI SAS (rev 01) controller. These zpools host Zvols used by VMs running under bhyve. On 13.0-RELEASE, the Linux guests have a workload which consistently hangs. On the FreeBSD host, dmesg contains errors like:

May 17 09:20:17 xxxxxxxx kernel: [ERROR]::[92:655.0][0,70,0][CPU 58][pqi_map_request][551]:bus_dmamap_load_ccb failed = 36 count = 1036288
May 17 09:20:17 xxxxxxxx kernel: [WARN]:[92:655.0][CPU 58][pqisrc_io_start][802]:In Progress on 70

Applying this patch to releng/13.0 fixes the hangs seen in the Linux guests.

May 17 2021, 4:32 PM

May 3 2021

chuck added inline comments to D30019: linux(4): implement coredump support.
May 3 2021, 1:43 PM

Apr 20 2021

chuck added a comment to D29584: Newly added features and bug fixes in latest Microchip SmartPQI driver..

FWIW, applying this patch via git apply D29584.diff results in a number of trailing whitespace complaints:

/home/tuffli/D29584.diff:70: trailing whitespace.
/home/tuffli/D29584.diff:100: trailing whitespace.
/home/tuffli/D29584.diff:1126: trailing whitespace.
/home/tuffli/D29584.diff:1850: trailing whitespace.
/home/tuffli/D29584.diff:1905: trailing whitespace.
/home/tuffli/D29584.diff:2113: trailing whitespace.
/home/tuffli/D29584.diff:3307: trailing whitespace.
/home/tuffli/D29584.diff:4254: trailing whitespace.
/home/tuffli/D29584.diff:4326: trailing whitespace.
/home/tuffli/D29584.diff:5418: trailing whitespace.
/home/tuffli/D29584.diff:6860: trailing whitespace.
Apr 20 2021, 11:50 PM

Apr 13 2021

chuck added a comment to D29750: rc: make 'ddb' and 'dumpon' require disks, not the other way around.

This makes sense to me, but I'm not an expert on these scripts.

Apr 13 2021, 11:47 PM

Apr 12 2021

chuck accepted D29609: linux: adjust ordering of Linux auxv and add dummy AT_HWCAP2.

LGTM

Apr 12 2021, 6:05 PM
chuck added a comment to D29657: bhyve: add SMBIOS Baseboard Information.
In D29657#666751, @jhb wrote:

FYI, the repository is wrong because of the .arcconfig in and that 'rS' still references the old svn repository. @lwhsu was going to look at either renaming the rS alias to the git repository, or adding a new alias that could be used in .arcconfig to fix this.

Apr 12 2021, 6:02 PM
chuck closed D29657: bhyve: add SMBIOS Baseboard Information.
Apr 12 2021, 3:13 PM
chuck committed R10:0c6282e842b3: bhyve: add SMBIOS Baseboard Information (authored by chuck).
bhyve: add SMBIOS Baseboard Information
Apr 12 2021, 3:13 PM

Apr 11 2021

chuck changed the repository for D29657: bhyve: add SMBIOS Baseboard Information from rS FreeBSD src repository - subversion to R10 FreeBSD src repository.
Apr 11 2021, 2:31 PM
chuck added a comment to D29657: bhyve: add SMBIOS Baseboard Information.

Just a comment typo: "number of contained objecct handles" - should be "object".

Apr 11 2021, 2:30 PM

Apr 8 2021

chuck updated the test plan for D29657: bhyve: add SMBIOS Baseboard Information.
Apr 8 2021, 7:19 PM
chuck requested review of D29657: bhyve: add SMBIOS Baseboard Information.
Apr 8 2021, 7:18 PM

Apr 5 2021

chuck closed D29101: wait for device mounts in zpool and dumpon.
Apr 5 2021, 4:31 PM
chuck committed R10:f30f11f878fe: wait for device mounts in zpool and dumpon (authored by chuck).
wait for device mounts in zpool and dumpon
Apr 5 2021, 4:31 PM

Mar 11 2021

chuck added a comment to D29126: bhyve: address-of-packed-member warnings.
In D29126#653594, @jhb wrote:

... OTOH, packed isn't really what you want here Chuck, packed means "alignment of 1", not just "no padding". In practice though, there's no architecture supported by FreeBSD where leaving off __packed would break.

Mar 11 2021, 11:56 PM

Mar 8 2021

chuck added a comment to D29101: wait for device mounts in zpool and dumpon.
In D29101#652342, @mav wrote:

For root on ZFS kernel automatically calls vfs_mountroot_wait() before doing anything. I think it is the only safe way. Attempt to import pool before all disks are detected may end up in importing pool at older transaction group or using old, removed now from pool devices. So I would insert root_hold_wait call at the beginning of zpool_start().

Mar 8 2021, 6:58 PM
chuck added a comment to D29101: wait for device mounts in zpool and dumpon.

I've update zpool to use root_hold_wait only after import fails, but I wasn't quite sure how to make similar changes for dumpon. Any suggestions?

Mar 8 2021, 5:46 PM
chuck updated the diff for D29101: wait for device mounts in zpool and dumpon.
  • only set root_hold_wait if zpool import fails
Mar 8 2021, 5:44 PM
chuck added a comment to D29126: bhyve: address-of-packed-member warnings.

Thanks for the update. If I'm understanding this compiler flag, it is not warning of an actual misalignment, more that this pattern may lead to unaligned accesses.

Mar 8 2021, 4:56 PM
chuck added a comment to D29126: bhyve: address-of-packed-member warnings.

I'm having trouble matching pci_nvme.c:903 to current, stable/12 or stable/13. Which branch is this? I'm curious to see why the compiler doesn't like this instance as (naively) everything should be nicely aligned.

Mar 8 2021, 4:15 PM
chuck added a comment to D29126: bhyve: address-of-packed-member warnings.

I'm happy to help out on the NVMe part but don't see this warning while building x86_64 on current. Can you point me in the direction of how to reproduce this?

Mar 8 2021, 3:13 PM
chuck requested changes to D29126: bhyve: address-of-packed-member warnings.
Mar 8 2021, 3:11 PM
chuck added a reviewer for D29126: bhyve: address-of-packed-member warnings: chuck.
Mar 8 2021, 3:10 PM

Mar 5 2021

chuck added a comment to D29101: wait for device mounts in zpool and dumpon.

No, I hadn't considered that. Are you think of something like the following for zpool

Mar 5 2021, 7:50 PM
chuck updated the summary of D29101: wait for device mounts in zpool and dumpon.
Mar 5 2021, 6:42 PM
chuck updated the test plan for D29101: wait for device mounts in zpool and dumpon.
Mar 5 2021, 6:40 PM
chuck requested review of D29101: wait for device mounts in zpool and dumpon.
Mar 5 2021, 6:38 PM

Feb 12 2021

chuck added inline comments to D28583: nvme: Use shared timeout rather than timeout per transaction.
Feb 12 2021, 5:48 PM
chuck added a comment to D28585: nvme: Add optimizations for device removal.

From past experience, I've noticed that HGST/WDC drives set CFS on power loss before being NVME_GONE. In this case, would the state machine recover as it doesn't check NVME_GONE again?

Feb 12 2021, 3:57 PM

Jan 19 2021

chuck added inline comments to D28242: bhyve(8): allow mevent to filter EVFILT_VNODE kevents.
Jan 19 2021, 8:37 PM

Jan 8 2021

chuck committed R10:e83fdf8bb391: fix big-endian platforms after 6733401935f8 (authored by chuck).
fix big-endian platforms after 6733401935f8
Jan 8 2021, 10:45 PM
chuck closed D27517: nvmecontrol: add device self-test op and log page.
Jan 8 2021, 5:29 PM
chuck committed R10:6733401935f8: nvmecontrol: add device self-test op and log page (authored by chuck).
nvmecontrol: add device self-test op and log page
Jan 8 2021, 5:29 PM

Jan 4 2021

chuck added a comment to D27517: nvmecontrol: add device self-test op and log page.

Any feedback on the change of failing_lba to uint8_t [8]? Does anything else stick out?

FWIW, I prefer the _lo / _hi dwords, rather than the byte array. NVMe only uses byte arrays for reserved or inconvenient-length items.

Jan 4 2021, 5:24 PM

Jan 2 2021

chuck added a comment to D27517: nvmecontrol: add device self-test op and log page.

Any feedback on the change of failing_lba to uint8_t [8]? Does anything else stick out?

Jan 2 2021, 9:49 PM

Dec 23 2020

chuck added a reviewer for D27735: cam: don't lock while handling an AC_UNIT_ATTENTION (da): ken.
Dec 23 2020, 4:54 PM

Dec 14 2020

chuck updated the diff for D27517: nvmecontrol: add device self-test op and log page.

Fixed various endianess issues:

  • made log page structure element failing_lba a byte array
  • added htole32() conversion in the selftest command
Dec 14 2020, 11:20 PM
chuck committed rS368638: MFC r368275: nvme: Fix typo in definition.
MFC r368275: nvme: Fix typo in definition
Dec 14 2020, 5:19 PM
chuck committed rS368637: MFC r364602: bhyve: NVMe set nominal health values.
MFC r364602: bhyve: NVMe set nominal health values
Dec 14 2020, 5:13 PM

Dec 9 2020

chuck updated the diff for D27517: nvmecontrol: add device self-test op and log page.

Addressed new-line in the man page and added a swap bytes routine for the device self-test log page

Dec 9 2020, 5:19 PM
chuck added a comment to D27517: nvmecontrol: add device self-test op and log page.
In D27517#615206, @mav wrote:

The structure matches the NVMe specification. That said, would you prefer to see this as

		uint32_t	failing_lba_lo;
		uint32_t	failing_lba_hi;

I have feeling we already have some field(s) like that (or as array?) somewhere, just don't remember where from the to of my head.

Dec 9 2020, 5:02 PM
chuck added a comment to D27517: nvmecontrol: add device self-test op and log page.
In D27517#615047, @mav wrote:

Also use of misaligned 64-bit fields in struct nvme_device_self_test_page may work fine for x86, but generally not great. Not so long ago we've had sparc64, that happily crashed on such accesses in kernel. Do we no longer care?

Dec 9 2020, 4:51 PM
chuck added a comment to D27517: nvmecontrol: add device self-test op and log page.
In D27517#615047, @mav wrote:

I don't see here nvme_self_test_page_swapbytes() implemented and called in read_logpage() and may be kernel nvme_ctrlr_async_event_log_page_cb().

Oops, I missed that. Thanks!

Dec 9 2020, 4:44 PM

Dec 8 2020

chuck requested review of D27517: nvmecontrol: add device self-test op and log page.
Dec 8 2020, 9:27 PM

Dec 4 2020

chuck accepted D27448: Two commits to cleanup needless wmb() in nvme driver.
Dec 4 2020, 6:53 PM

Dec 2 2020

chuck closed D27439: nvme: Fix typo in definition.
Dec 2 2020, 3:59 PM
chuck committed rS368275: nvme: Fix typo in definition.
nvme: Fix typo in definition
Dec 2 2020, 3:59 PM
chuck updated the summary of D27439: nvme: Fix typo in definition.
Dec 2 2020, 3:41 PM

Dec 1 2020

chuck requested review of D27439: nvme: Fix typo in definition.
Dec 1 2020, 6:06 PM

Sep 20 2020

chuck added a comment to D25876: bhyve: Passthrough host's NVMe device health logpage to guests..

After thinking about this and talking it over with some of the other bhyve developers, the better approach would be to create a new device model specifically for passing commands and data between a real NVMe device and a guest. The new device model (perhaps pci_nvme_proxy.c) might have a small amount of overlap with the NVMe device model with respect to hooking PCI reads and writes and probably queue creation. But the majority of the functionality would be handled by either nvme(4) or cam(3) requests. Using nvme(4) ioctl's as you have is a good model for Admin commands, but you will want to experiment with how best to implement the I/O path. Let me if you have questions.

Sep 20 2020, 2:52 PM

Sep 18 2020

chuck accepted D26390: Honor the FWUG value of some drives in nvmecontrol.

I'd love to see the addition of a warning, but am happy with these changes.

Sep 18 2020, 4:43 PM
chuck added a comment to D26390: Honor the FWUG value of some drives in nvmecontrol.

FWIW, I checked with our NVMe standards person who says:

Sep 18 2020, 4:34 PM

Sep 10 2020

chuck added inline comments to D26390: Honor the FWUG value of some drives in nvmecontrol.
Sep 10 2020, 2:05 PM
chuck added reviewers for D26390: Honor the FWUG value of some drives in nvmecontrol: imp, mav, chuck.
Sep 10 2020, 1:52 PM

Aug 24 2020

chuck closed D24202: bhyve: Initial some NVMe controller health log data..
Aug 24 2020, 1:51 AM
chuck committed rS364603: bhyve: NVMe queue create must init head/tail.
bhyve: NVMe queue create must init head/tail
Aug 24 2020, 1:51 AM
chuck committed rS364602: bhyve: NVMe set nominal health values.
bhyve: NVMe set nominal health values
Aug 24 2020, 1:51 AM

Aug 12 2020

chuck added a comment to D24202: bhyve: Initial some NVMe controller health log data..

I'm happy with this change but need to wait for maintainer approval before I commit it

Aug 12 2020, 1:36 PM
chuck added reviewers for D24202: bhyve: Initial some NVMe controller health log data.: jhb, grehan.
Aug 12 2020, 1:35 PM

Aug 10 2020

chuck added a comment to D26003: vmm: intel: Support rdtscp and rdpid.

We've successfully tested a slightly modified version this patch with a CentOS-based VM that used RDTSCP on 12.1-RELEASE. Without the patch, the appliance image core dumps. With this patch, it runs correctly. Checked that module unload works. Thank you for fixing this!

Aug 10 2020, 10:01 PM

Aug 2 2020

chuck added a comment to D25876: bhyve: Passthrough host's NVMe device health logpage to guests..

I totally agree with your opition. adding complexities code is worthy or not.

But I have reasons for these.

  1. FreeBSD is a suitable solution for NAS and VM host. but some users are using the comsumer hardware. In that case, VT-D is not available. we have to provide other solutions for SMART data.
Aug 2 2020, 10:02 PM
chuck accepted D24202: bhyve: Initial some NVMe controller health log data..

Looks good. Thank you for contributing this!

Aug 2 2020, 9:53 PM

Aug 1 2020

chuck added a comment to D25876: bhyve: Passthrough host's NVMe device health logpage to guests..

While this is an interesting approach, the fix you proposed in D24202 is more in line with the goal of emulating an NVMe device, and I'd be more comfortable committing those changes.

Aug 1 2020, 2:45 PM
chuck added a reviewer for D24202: bhyve: Initial some NVMe controller health log data.: chuck.
Aug 1 2020, 1:49 PM
chuck added a comment to D24202: bhyve: Initial some NVMe controller health log data..

This looks good to me. Please rebase against the latest and I'd be happy to commit this.

Aug 1 2020, 1:49 PM

Jul 31 2020

chuck added a comment to D25876: bhyve: Passthrough host's NVMe device health logpage to guests..

Thank you for determining why some guest OS's (I'm guessing Windows?) believe that the device isn't healthy!
A couple of observations:

  1. If the backing storage for the namespace isn't an NVMe device, what will this code do?
  2. Were you able to determine which fields are important to the OS in question? If so, a better approach might be to fix the missing fields in the current implementation. This would have the added benefit of working with a ZVol or file-based backing storage.
Jul 31 2020, 9:56 PM

Jul 20 2020

chuck committed rS363359: MFC r362766 bhyve: fix NVMe Active Namespace list.
MFC r362766 bhyve: fix NVMe Active Namespace list
Jul 20 2020, 12:44 AM
chuck committed rS363358: MFC r362765 bhyve: NVMe handle zero length DSM ranges.
MFC r362765 bhyve: NVMe handle zero length DSM ranges
Jul 20 2020, 12:42 AM
chuck committed rS363357: MFC r362764 bhyve: fix NVMe Get Features, Predictable Latency.
MFC r362764 bhyve: fix NVMe Get Features, Predictable Latency
Jul 20 2020, 12:40 AM
chuck committed rS363356: MFC r362763 bhyve: add NVMe Feature Interrupt Vector Config.
MFC r362763 bhyve: add NVMe Feature Interrupt Vector Config
Jul 20 2020, 12:38 AM
chuck committed rS363355: MFC r362762 bhyve: add basic NVMe Firmware Commit support.
MFC r362762 bhyve: add basic NVMe Firmware Commit support
Jul 20 2020, 12:35 AM
chuck committed rS363354: MFC r362761 bhyve: Add AER support to NVMe emulation.
MFC r362761 bhyve: Add AER support to NVMe emulation
Jul 20 2020, 12:33 AM
chuck committed rS363353: MFC r362760 bhyve: validate the NVMe LBA start and count.
MFC r362760 bhyve: validate the NVMe LBA start and count
Jul 20 2020, 12:21 AM

Jul 19 2020

chuck committed rS363349: MFC r362759 bhyve: implement NVMe SMART data I/O statistics.
MFC r362759 bhyve: implement NVMe SMART data I/O statistics
Jul 19 2020, 11:46 PM
chuck committed rS363348: MFC r362758 bhyve: validate NVMe deallocate range values.
MFC r362758 bhyve: validate NVMe deallocate range values
Jul 19 2020, 11:43 PM
chuck committed rS363347: MFC r362757 bhyve: base pci_nvme_ioreq size on advertised MDTS.
MFC r362757 bhyve: base pci_nvme_ioreq size on advertised MDTS
Jul 19 2020, 11:41 PM
chuck committed rS363346: MFC r362756 bhyve: refactor NVMe I/O read/write.
MFC r362756 bhyve: refactor NVMe I/O read/write
Jul 19 2020, 11:37 PM
chuck committed rS363344: MFC r362755 bhyve: implement NVMe Format NVM command.
MFC r362755 bhyve: implement NVMe Format NVM command
Jul 19 2020, 11:34 PM
chuck committed rS363343: MFC r362754 bhyve: make unsupported NVMe commands a debug message.
MFC r362754 bhyve: make unsupported NVMe commands a debug message
Jul 19 2020, 11:29 PM
chuck committed rS363342: MFC r362753 bhyve: add more compliant NVMe Get/Set Features.
MFC r362753 bhyve: add more compliant NVMe Get/Set Features
Jul 19 2020, 11:27 PM
chuck committed rS363341: MFC r362752 bhyve: fix NVMe queue creation and deletion.
MFC r362752 bhyve: fix NVMe queue creation and deletion
Jul 19 2020, 11:24 PM
chuck committed rS363340: MFC r362751 bhyve: fix NVMe Get Log Page command.
MFC r362751 bhyve: fix NVMe Get Log Page command
Jul 19 2020, 11:21 PM
chuck committed rS363338: MFC r362750 bhyve: implement NVMe Namespace Identification Descriptor.
MFC r362750 bhyve: implement NVMe Namespace Identification Descriptor
Jul 19 2020, 11:18 PM
chuck committed rS363337: MFC r362749 bhyve: Consolidate NVMe CQ update.
MFC r362749 bhyve: Consolidate NVMe CQ update
Jul 19 2020, 10:58 PM
chuck committed rS363336: MFC r362748 bhyve: add locks around NVMe queue accesses.
MFC r362748 bhyve: add locks around NVMe queue accesses
Jul 19 2020, 10:56 PM
chuck committed rS363335: MFC r362747 bhyve: add a comment explaining NVME dsm option.
MFC r362747 bhyve: add a comment explaining NVME dsm option
Jul 19 2020, 10:52 PM
chuck committed rS363334: MFC r362746 bhyve: implement NVMe Flush command.
MFC r362746 bhyve: implement NVMe Flush command
Jul 19 2020, 10:40 PM
chuck committed rS363333: MFC r362745 bhyve: refactor NVMe IO command handling.
MFC r362745 bhyve: refactor NVMe IO command handling
Jul 19 2020, 10:38 PM
chuck committed rS363332: MFC 362744 bhyve: convert NVMe logging statements.
MFC 362744 bhyve: convert NVMe logging statements
Jul 19 2020, 10:27 PM
chuck committed rS363331: MFC r362027 pci: loosen PCIe hot-plug requirements.
MFC r362027 pci: loosen PCIe hot-plug requirements
Jul 19 2020, 10:24 PM

Jul 6 2020

chuck added a comment to D25396: bhyve nvme controller will pass unknown config if using blockif backend.

As an update, there is work underway to significantly enhance bhyve configuration. Once that lands, it should make many of the concerns here easier to address.

Jul 6 2020, 3:49 PM
chuck added a member for bhyve: chuck.
Jul 6 2020, 3:44 PM

Jun 29 2020

chuck closed D24901: bhyve: fix NVMe Active Namespace list.
Jun 29 2020, 12:37 AM