Page MenuHomeFreeBSD

jimharris (Jim Harris)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 21 2015, 11:42 PM (161 w, 2 h)

Recent Activity

Aug 3 2018

jimharris accepted D16570: nvme(4): Add bus_dmamap_sync() at the end of the request path.

This looks good so far. Definitely a big improvement over what was there previously. I'll think about this some more, if there are any other syncs that we're missing.

Aug 3 2018, 4:54 PM
jimharris added a comment to D16570: nvme(4): Add bus_dmamap_sync() at the end of the request path.

Sorry - I was looking at a much older version of the nvme(4) driver. You are correct - PRPs are getting synced as part of the queuemem_map.

Aug 3 2018, 4:07 PM
jimharris added a comment to D16570: nvme(4): Add bus_dmamap_sync() at the end of the request path.

I'm sure you already know this, but you only need to sync before we ring the doorbell for I/O submission. The device never writes to the PRP list - it only reads it.

Aug 3 2018, 3:59 PM
jimharris added a comment to D16570: nvme(4): Add bus_dmamap_sync() at the end of the request path.

In nvme_payload_map, can you also sync the tr->prp_dma_map? Using the same qpair->dma_tag.

Aug 3 2018, 3:56 PM
jimharris added a comment to D16570: nvme(4): Add bus_dmamap_sync() at the end of the request path.

I think we have to sync the PRP lists too. Give me a minute and I'll send you some pointers.

Aug 3 2018, 3:53 PM

Aug 2 2018

jimharris added a comment to D16570: nvme(4): Add bus_dmamap_sync() at the end of the request path.

Looks good to me. Would be great if @git_bdragon.rtk0.net could retest with this latest patch.

Aug 2 2018, 8:20 PM
jimharris requested changes to D16570: nvme(4): Add bus_dmamap_sync() at the end of the request path.
Aug 2 2018, 7:48 PM
jimharris added inline comments to D16570: nvme(4): Add bus_dmamap_sync() at the end of the request path.
Aug 2 2018, 7:27 PM
jimharris requested changes to D16570: nvme(4): Add bus_dmamap_sync() at the end of the request path.
Aug 2 2018, 5:23 PM

Apr 23 2018

jimharris added a comment to D15162: switch nvme driver from make_dev_credf to make_dev_s.

Warner - can you commit this to HEAD?

Apr 23 2018, 9:44 PM
jimharris accepted D15162: switch nvme driver from make_dev_credf to make_dev_s.
Apr 23 2018, 8:47 PM

Mar 15 2018

jimharris requested changes to D14703: nvme: Revert to using the old API..

Changes look fine, but you should probably remove the commented out code.

Mar 15 2018, 6:17 PM

Feb 23 2018

jimharris requested changes to D14489: Correct typo in ATA_WRITE_UNCORRECTABLE_PSEUDO.

Hi Ed,

Feb 23 2018, 7:54 PM

Jan 27 2018

jimharris accepted D14053: Use atomic load and stores to ensure that the compiler doesn't optimize away these loops..
Jan 27 2018, 4:56 PM

Dec 7 2017

jimharris accepted D13389: Wait for EN transition on disable.
Dec 7 2017, 5:22 PM

Aug 4 2017

jimharris requested changes to D11825: Make nvd vs nda choice boot-time rather than build-time.

Code all looks good. Just a couple of typos.

Aug 4 2017, 3:25 AM

Apr 4 2017

jimharris added inline comments to D10247: Add CAM passthrough for NVMe.
Apr 4 2017, 3:59 PM

Mar 9 2017

jimharris accepted D9927: Fix typo in nvme(4).
Mar 9 2017, 5:23 AM
jimharris added inline comments to D9927: Fix typo in nvme(4).
Mar 9 2017, 5:23 AM

Nov 7 2016

jimharris accepted D8453: Change the device shared memory allocation routines to use the busdma API. One side effect is that all memory, including the PRP segments, are now allocated in a single slab..

Looks good!

Nov 7 2016, 11:52 PM
jimharris added inline comments to D8453: Change the device shared memory allocation routines to use the busdma API. One side effect is that all memory, including the PRP segments, are now allocated in a single slab..
Nov 7 2016, 1:52 PM

Nov 6 2016

jimharris added inline comments to D8453: Change the device shared memory allocation routines to use the busdma API. One side effect is that all memory, including the PRP segments, are now allocated in a single slab..
Nov 6 2016, 4:51 PM
jimharris added inline comments to D8453: Change the device shared memory allocation routines to use the busdma API. One side effect is that all memory, including the PRP segments, are now allocated in a single slab..
Nov 6 2016, 4:10 PM

Jul 24 2016

jimharris added a comment to D7295: Move NVMe files to global files list.
In D7295#151926, @imp wrote:

I'm pretty sure it won't work with big endian machine. Have you tested this?

Nope, haven't tested it, don't have a NVME card to test with. There have between people expressing a desire to use it on PowerPC. Regardless, it should be usable on any little endian platform, and any bugs for big endian can be squashed as they are tested.

Jul 24 2016, 8:12 PM

Jul 6 2016

jimharris committed rS302380: isci: fix ATA PASSTHROUGH fixed sense data format.
isci: fix ATA PASSTHROUGH fixed sense data format
Jul 6 2016, 8:48 PM

May 13 2016

jimharris accepted D6352: Use polling spin loops for timeouts during early boot..

Looks good. Thanks!

May 13 2016, 5:47 PM

Feb 29 2016

jimharris committed rS296191: MFC r295944:.
MFC r295944:
Feb 29 2016, 3:46 PM

Feb 24 2016

jimharris committed rS295944: nvme: fix intx handler to not dereference ioq during initialization.
nvme: fix intx handler to not dereference ioq during initialization
Feb 24 2016, 12:01 AM

Feb 17 2016

jimharris committed rS295705: MFC r295022:.
MFC r295022:
Feb 17 2016, 3:38 PM
jimharris committed rS295704: MFC r295532:.
MFC r295532:
Feb 17 2016, 3:36 PM

Feb 11 2016

jimharris committed rS295532: nvme: avoid duplicate SET_NUM_QUEUES commands.
nvme: avoid duplicate SET_NUM_QUEUES commands
Feb 11 2016, 5:33 PM

Jan 28 2016

jimharris committed rS295022: nvd: add hw.nvd.delete_max tunable.
nvd: add hw.nvd.delete_max tunable
Jan 28 2016, 11:15 PM
jimharris committed rS295000: MFC r293678:.
MFC r293678:
Jan 28 2016, 6:26 PM

Jan 11 2016

jimharris committed rS293678: Update ismt(4) man page to reflect inclusion in upcoming 10.3 release..
Update ismt(4) man page to reflect inclusion in upcoming 10.3 release.
Jan 11 2016, 5:58 PM
jimharris committed rS293676: MFC r293369:.
MFC r293369:
Jan 11 2016, 5:54 PM
jimharris committed rS293675: MFC r266474:.
MFC r266474:
Jan 11 2016, 5:53 PM
jimharris committed rS293673: MFC r293354:.
MFC r293354:
Jan 11 2016, 5:34 PM
jimharris committed rS293672: MFC r293352:.
MFC r293352:
Jan 11 2016, 5:33 PM
jimharris committed rS293671: MFC r293328:.
MFC r293328:
Jan 11 2016, 5:31 PM
jimharris committed rS293670: MFC r293327:.
MFC r293327:
Jan 11 2016, 5:29 PM
jimharris committed rS293669: MFC r293326:.
MFC r293326:
Jan 11 2016, 5:28 PM
jimharris committed rS293668: MFC r293325:.
MFC r293325:
Jan 11 2016, 5:27 PM
jimharris committed rS293667: MFC r293324:.
MFC r293324:
Jan 11 2016, 5:26 PM
jimharris committed rS293666: MFC r293323:.
MFC r293323:
Jan 11 2016, 5:24 PM
jimharris committed rS293665: MFC r293322:.
MFC r293322:
Jan 11 2016, 5:23 PM
jimharris committed rS293664: MFC r293321:.
MFC r293321:
Jan 11 2016, 5:21 PM
jimharris committed rS293663: MFC r293320:.
MFC r293320:
Jan 11 2016, 5:20 PM
jimharris committed rS293662: MFC r293319:.
MFC r293319:
Jan 11 2016, 5:19 PM

Jan 7 2016

jimharris committed rS293369: ismt: fix ISMT_DESC_ADDR_RW macro.
ismt: fix ISMT_DESC_ADDR_RW macro
Jan 7 2016, 9:17 PM
jimharris committed rS293354: nvme: replace NVME_CEILING macro with howmany().
nvme: replace NVME_CEILING macro with howmany()
Jan 7 2016, 8:35 PM
jimharris committed rS293352: nvme: add hw.nvme.min_cpus_per_ioq tunable.
nvme: add hw.nvme.min_cpus_per_ioq tunable
Jan 7 2016, 8:32 PM
jimharris committed rS293328: nvme: do not revert o single I/O queue when per-CPU queues not possible.
nvme: do not revert o single I/O queue when per-CPU queues not possible
Jan 7 2016, 4:18 PM
jimharris committed rS293327: nvme: break out interrupt setup code into a separate function.
nvme: break out interrupt setup code into a separate function
Jan 7 2016, 4:13 PM
jimharris committed rS293326: nvme: do not pre-allocate MSI-X IRQ resources.
nvme: do not pre-allocate MSI-X IRQ resources
Jan 7 2016, 4:11 PM
jimharris committed rS293325: nvme: remove per_cpu_io_queues from struct nvme_controller.
nvme: remove per_cpu_io_queues from struct nvme_controller
Jan 7 2016, 4:10 PM
jimharris committed rS293324: nvme: simplify some of the nested ifs in interrupt setup code.
nvme: simplify some of the nested ifs in interrupt setup code
Jan 7 2016, 4:08 PM
jimharris committed rS293323: nvd: submit bios directly when BIO_ORDERED not set or in flight.
nvd: submit bios directly when BIO_ORDERED not set or in flight
Jan 7 2016, 4:06 PM
jimharris committed rS293322: nvd: break out submission logic into separate function.
nvd: break out submission logic into separate function
Jan 7 2016, 4:00 PM
jimharris committed rS293321: nvd: skip BIO_ORDERED logic when bio fails submission.
nvd: skip BIO_ORDERED logic when bio fails submission
Jan 7 2016, 3:58 PM
jimharris committed rS293320: nvd: do not wait for previous bios before submitting ordered bio.
nvd: do not wait for previous bios before submitting ordered bio
Jan 7 2016, 3:57 PM
jimharris committed rS293319: nvd: set DISKFLAG_DIRECT_COMPLETION.
nvd: set DISKFLAG_DIRECT_COMPLETION
Jan 7 2016, 3:56 PM

Dec 10 2015

jimharris accepted D4446: Limit stripesize reported from nvd(4) for to geom(8) to 4K.
Dec 10 2015, 11:18 PM

Dec 9 2015

jimharris added inline comments to D4446: Limit stripesize reported from nvd(4) for to geom(8) to 4K.
Dec 9 2015, 4:38 PM
jimharris added inline comments to D4446: Limit stripesize reported from nvd(4) for to geom(8) to 4K.
Dec 9 2015, 4:37 PM

Dec 4 2015

jimharris accepted D4382: Improve cam tracing a little by including the function code in the traces for xpt_action. Note up-calls (down-calls?) to the SIM as well..
Dec 4 2015, 5:28 PM

Nov 23 2015

jimharris committed rS291214: MFC r290199:.
MFC r290199:
Nov 23 2015, 5:27 PM
jimharris committed rS291213: MFC r290198:.
MFC r290198:
Nov 23 2015, 5:26 PM

Nov 6 2015

jimharris committed rS290455: I am still maintaining iscsi, nvme, nvd and nvmecontrol..
I am still maintaining iscsi, nvme, nvd and nvmecontrol.
Nov 6 2015, 4:54 PM

Oct 30 2015

jimharris committed rS290199: nvd, nvme: report stripesize through GEOM disk layer.
nvd, nvme: report stripesize through GEOM disk layer
Oct 30 2015, 4:35 PM
jimharris committed rS290198: nvme: fix race condition in split bio completion path.
nvme: fix race condition in split bio completion path
Oct 30 2015, 4:06 PM

Sep 11 2015

jimharris committed rS287678: MFC r287564:.
MFC r287564:
Sep 11 2015, 5:08 PM
jimharris committed rS287677: MFC r287563:.
MFC r287563:
Sep 11 2015, 5:01 PM
jimharris committed rS287676: MFC r286043:.
MFC r286043:
Sep 11 2015, 4:59 PM

Sep 8 2015

jimharris committed rS287564: isci: check return value of pci_alloc_msix().
isci: check return value of pci_alloc_msix()
Sep 8 2015, 4:05 PM
jimharris committed rS287563: isci: explicitly enable/disable PCI busmaster.
isci: explicitly enable/disable PCI busmaster
Sep 8 2015, 4:00 PM

Sep 2 2015

jimharris added a comment to D3552: ioat(4): pci_save/restore_state to persist MSI-X registers over BDXDE reset.

Technically the BWD (stands for Briarwood - an Atom-based SOC) dev IDs should be treated the same as BDX (Broadwell) DE (aka Xeon D). I have no Briarwood hardware to test on though. But should not hurt to just add those device IDs anyways.

Sep 2 2015, 9:26 PM
jimharris accepted D3549: ioat: initialize interrupts after resetting hw on BDXDE.
Sep 2 2015, 4:12 PM
jimharris added a comment to D3549: ioat: initialize interrupts after resetting hw on BDXDE.

I would rather see the full patch here instead of just this workaround to get BDX-DE initialized. Otherwise recovering from channel hangs after initialization will not be possible.

Sep 2 2015, 2:32 PM

Aug 25 2015

jimharris accepted D3481: ioat(4): Minor style cleanups.
Aug 25 2015, 5:36 PM
jimharris accepted D3481: ioat(4): Minor style cleanups.
Aug 25 2015, 4:59 PM

Aug 24 2015

jimharris accepted D3456: Add ioat(4) driver and test tool.
Aug 24 2015, 6:58 PM
jimharris added a comment to D3456: Add ioat(4) driver and test tool.

This revision looks good to me.

Aug 24 2015, 6:56 PM
jimharris added inline comments to D3456: Add ioat(4) driver and test tool.
Aug 24 2015, 6:40 PM
jimharris added inline comments to D3456: Add ioat(4) driver and test tool.
Aug 24 2015, 5:41 PM
jimharris added inline comments to D3456: Add ioat(4) driver and test tool.
Aug 24 2015, 3:03 PM

Aug 22 2015

jimharris added a comment to D3456: Add ioat(4) driver and test tool.

sys/modules/Makefile needs to be updated too, such that _ioat is only defined when MACHINE_CPUARCH == amd64. I forgot to mention this when I commented on files.amd64 and NOTES.

Aug 22 2015, 7:02 PM
jimharris added a comment to D3457: ioat(4): Just the cleanups / changes to users/jimarris/ioat.

One more note - sys/conf/files.amd64 and sys/amd64/conf/NOTES should also be updated for ioat, so that it gets integrated into normal kernel builds.

Aug 22 2015, 4:20 PM
jimharris added inline comments to D3457: ioat(4): Just the cleanups / changes to users/jimarris/ioat.
Aug 22 2015, 3:35 PM