[nvmewin] Compatibility issue with 1.5 version nvme driver

Robles, Raymond C raymond.c.robles at intel.com
Fri Jun 16 14:51:06 PDT 2017


Hi Tom,

No worries... thank you very much.

Thanks...
Ray

From: Tom Freeman [mailto:thomas.freeman at wdc.com]
Sent: Friday, June 16, 2017 12:47 PM
To: Robles, Raymond C <raymond.c.robles at intel.com>; Justina Lai <justina_lai at phison.com>; nvmewin at lists.openfabrics.org
Cc: umaparepalli at gmail.com; Larry Li <larry_li at phison.com>
Subject: Re: [nvmewin] Compatibility issue with 1.5 version nvme driver

Ray, I just discovered this email - it was routed to my junk folder. I'll review early next week

Tom Freeman
Software Engineer, Device Manager and Driver Development
Western Digital
Email: Thomas.Freeman at wdc.com<mailto:Thomas.Freeman at wdc.com>
Office:+1-507-322-2311

-------- Original Message --------
Subject: Re: [nvmewin] Compatibility issue with 1.5 version nvme driver
From: "Robles, Raymond C" <raymond.c.robles at intel.com<mailto:raymond.c.robles at intel.com>>
Date: Jun 13, 2017, 3:31 PM
To: Justina Lai <justina_lai at phison.com<mailto:justina_lai at phison.com>>,nvmewin at lists.openfabrics.org
Hi Justina,

I'm still waiting for feedback from Samsung and HGST on your patch.

Tom/Judy/Suman,

Can you please provide feedback on Phison's patch for the BSOD fix for grabbing the same lock twice?

Thanks...
Ray

From: Justina Lai [mailto:justina_lai at phison.com]
Sent: Thursday, May 25, 2017 7:08 PM
To: Robles, Raymond C <raymond.c.robles at intel.com<mailto:raymond.c.robles at intel.com>>; nvmewin at lists.openfabrics.org<mailto:nvmewin at lists.openfabrics.org>
Cc: Larry Li <larry_li at phison.com<mailto:larry_li at phison.com>>; 'umaparepalli at gmail.com' <umaparepalli at gmail.com<mailto:umaparepalli at gmail.com>>
Subject: RE: Compatibility issue with 1.5 version nvme driver

Hi Raymond,

Thanks for reply.
Please find attachment.
It's modified based on 4/8 157 version.

Thanks!

Best Regards,
Justina Lai
#5707

From: Robles, Raymond C [mailto:raymond.c.robles at intel.com]
Sent: Friday, May 26, 2017 1:36 AM
To: Justina Lai <justina_lai at phison.com<mailto:justina_lai at phison.com>>; nvmewin at lists.openfabrics.org<mailto:nvmewin at lists.openfabrics.org>
Cc: Larry Li <larry_li at phison.com<mailto:larry_li at phison.com>>; 'umaparepalli at gmail.com' <umaparepalli at gmail.com<mailto:umaparepalli at gmail.com>>
Subject: RE: Compatibility issue with 1.5 version nvme driver

Hi Justina,

The issue you mention below is a known issue. I thought there was a patch pushed to fix this, but if not, then my recommendation is to provide a patch that resolves this issue.

The main issue is for commands that require 2 child commands, the lock is acquired a second time for the second time on the completions side of the first child command. It should be a very simple fix.

Normally, I request that community members who find the issue submit patches to resolve this issue. This is our model. Could you please provide the patch for the fix?

NOTE: Uma Parepalli is the new OFA chair and will handle this issue moving forward.

Thanks...
Ray

From: nvmewin [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Justina Lai
Sent: Thursday, May 25, 2017 1:03 AM
To: nvmewin at lists.openfabrics.org<mailto:nvmewin at lists.openfabrics.org>
Cc: Larry Li <larry_li at phison.com<mailto:larry_li at phison.com>>
Subject: Re: [nvmewin] Compatibility issue with 1.5 version nvme driver

Dear Sir/Madam,

We are facing compatibility issue on our PS5007 NVMe device with recent 1.5 version nvme driver.
Please check below issue description.

Phison PS5007 supports 7 IO queues, and if we use PS5007 with OFA driver on the platform core number>7, ex: 8-core or 12-core PC, we will see PC hang up and cannot enter OS like below:
[cid:image001.jpg at 01D2E6AF.FAA0E780]

After debugging on our side, we found the fail is caused by below flow:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
..........
1.      SntiTranslateModeSense()

..........
2.IoCompletionRoutine()
    if (pDpc != NULL) {
        ASSERT(pAE->ntldrDump == FALSE);
        if (pAE->MultipleCoresToSingleQueueFlag) {
            StorPortAcquireSpinLock(pAE, StartIoLock, NULL, &StartLockHandle); ----------------------> execute lock
        } else {
            StorPortAcquireSpinLock(pAE, DpcLock, pDpc, &DpcLockhandle);
        }
    }
.........
callStorportNotification = pSrbExtension->pNvmeCompletionRoutine(pAE, (PVOID)pSrbExtension)
                            && (pSrbExtension->pSrb != NULL);
.......
3.SntiTranslateModeSenseResponse()

.......
case MODE_SENSE_RETURN_ALL:
.......
if (supportsVwc == TRUE) {

                                                          pSrbExt->pNvmeCompletionRoutine = SntiCompletionCallbackRoutine;

                                                          /* Finally, make sure we issue the GET FEATURES command */
                                                          SntiBuildGetFeaturesCmd(pSrbExt, VOLATILE_WRITE_CACHE);

                                                          ioStarted = ProcessIo(pSrbExt->pNvmeDevExt,
                                                                   pSrbExt,
                                                                   NVME_QUEUE_TYPE_ADMIN,
                                                                   TRUE);


4.ProcessIo()
        ........
        if (AcquireLock == TRUE) {
            StorPortAcquireSpinLock(pAdapterExtension,
                                 StartIoLock,
                                 NULL,
                                 &hStartIoLock);  ------------------------> double execute lock and cause (Assertion failure - code c0000420)


        }
---------------------------------------------------------------------------------------------------------------------------------------------------------------------

Since many users are now using our PS5007 device with 8-core or 12-core PC, they are facing this issue right now. Could you please help to modify driver to solve this problem asap?

Any unclear point, please kindly let us know.
Thank you very much for the help!

Best Regards,
Justina Lai
#5707



This message and any attachments are confidential and may be legally privileged. Any unauthorized review, use or distribution by anyone other than the intended recipient is strictly prohibited. If you are not the intended recipient, please immediately notify the sender, completely delete the message and any attachments, and destroy all copies. Your cooperation will be highly appreciated.


This message and any attachments are confidential and may be legally privileged. Any unauthorized review, use or distribution by anyone other than the intended recipient is strictly prohibited. If you are not the intended recipient, please immediately notify the sender, completely delete the message and any attachments, and destroy all copies. Your cooperation will be highly appreciated.
Western Digital Corporation (and its subsidiaries) E-mail Confidentiality Notice & Disclaimer:
This e-mail and any files transmitted with it may contain confidential or legally privileged information of WDC and/or its affiliates, and are intended solely for the use of the individual or entity to which they are addressed. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited. If you have received this e-mail in error, please notify the sender immediately and delete the e-mail in its entirety from your system.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/nvmewin/attachments/20170616/3a3dd1bc/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 11633 bytes
Desc: image001.jpg
URL: <http://lists.openfabrics.org/pipermail/nvmewin/attachments/20170616/3a3dd1bc/attachment.jpg>


More information about the nvmewin mailing list