[nvmewin] PMC New Patch

Alex Chang Alex.Chang at pmcs.com
Fri Mar 28 17:24:36 PDT 2014


Thank you, Carolyn.
Your suggestion makes sense. I will modify it accordingly and test again.

Have a great weekend!
Alex

From: Foster, Carolyn D [mailto:carolyn.d.foster at intel.com]
Sent: Friday, March 28, 2014 4:01 PM
To: Alex Chang; Robles, Raymond C; nvmewin at lists.openfabrics.org
Subject: RE: PMC New Patch

Thank you Alex, I think it's a configuration issue on my part.  The only feedback I really have for you about this patch is in NVMeAllocateMem in nvmeInit.c.  On line 184, if the initial allocation attempt failed, we try to allocate from node 0.  I'd like to see this changed to MM_ANY_NODE_OK instead of specifically hard coding it for node 0.  I know this isn't something specific to your patch, but I think it will be a bit more generic and flexible.

I have one or two more tests I'd like to wrap up on Monday, but I think the patch is looking good so far.

Thanks!
Carolyn

From: Alex Chang [mailto:Alex.Chang at pmcs.com]
Sent: Thursday, March 27, 2014 5:56 PM
To: Robles, Raymond C; Foster, Carolyn D; nvmewin at lists.openfabrics.org<mailto:nvmewin at lists.openfabrics.org>
Subject: RE: PMC New Patch

Hi Ray and Carolyn,

Just let you know that I retested it as boot driver/hibernation with Patch#22, #23 and the patch I sent out. They are all working properly.

Regards,
Alex

From: Robles, Raymond C [mailto:raymond.c.robles at intel.com]
Sent: Thursday, March 27, 2014 12:33 PM
To: Alex Chang; Foster, Carolyn D; nvmewin at lists.openfabrics.org<mailto:nvmewin at lists.openfabrics.org>
Subject: RE: PMC New Patch

Understood. However, the I/O that is not working is when entering S4 when the hiber-driver is loaded, as a boot device. This needs to work regardless of any other issues being seen, otherwise S4 as a boot device is not functional in the OFA driver.

From: Alex Chang [mailto:Alex.Chang at pmcs.com]
Sent: Thursday, March 27, 2014 12:27 PM
To: Robles, Raymond C; Foster, Carolyn D; nvmewin at lists.openfabrics.org<mailto:nvmewin at lists.openfabrics.org>
Subject: RE: PMC New Patch

Hi Ray,

That's what I thought, too. For some reasons, after coming back from S4, IOMeter discontinues and prompts out error messages. After terminating it and re-launching IOMeter, it works fine.

Regards,
Alex

From: Robles, Raymond C [mailto:raymond.c.robles at intel.com]
Sent: Thursday, March 27, 2014 12:18 PM
To: Alex Chang; Foster, Carolyn D; nvmewin at lists.openfabrics.org<mailto:nvmewin at lists.openfabrics.org>
Subject: RE: PMC New Patch

Shouldn't S4 work as a boot and data device after the hibernation support patch? I/O generated during the hiber driver by the OS (to write out the hiber-file) should work regardless of any IOMeter workloads.

From: nvmewin-bounces at lists.openfabrics.org<mailto:nvmewin-bounces at lists.openfabrics.org> [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Alex Chang
Sent: Thursday, March 27, 2014 12:14 PM
To: Foster, Carolyn D; nvmewin at lists.openfabrics.org<mailto:nvmewin at lists.openfabrics.org>
Subject: Re: [nvmewin] PMC New Patch

Hi Carolyn,

Since I don't think my changes will introduce the problem, I replaced the driver with  tag "Patch#22_Hibernation_Support", used our device as secondary drive and ran IOMeter to issue IOs to the drive. I've seen IOmeter reporting errors after the system/our device came back from hibernation properly. If no IO accesses, S4 works fine as either boot drive or secondary drive. Could you please verify that as well in your side? Once it's confirmed as a known issue, we need to decide when to fix it.

Regards,
Alex

From: Foster, Carolyn D [mailto:carolyn.d.foster at intel.com]
Sent: Thursday, March 27, 2014 11:18 AM
To: Alex Chang; nvmewin at lists.openfabrics.org<mailto:nvmewin at lists.openfabrics.org>
Subject: RE: PMC New Patch

Hi Alex,

Were you able to test S4 as a boot device?  I am seeing some issues with the IO during hiber driver execution.  The hiber driver enumeration and initialization seems to complete with no issues, but after the first call to start io for the inquiry, I'm not seeing any more IO happen.  I will try to debug further, but is this something you can look into?

Thanks,
Carolyn

From: nvmewin-bounces at lists.openfabrics.org<mailto:nvmewin-bounces at lists.openfabrics.org> [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Alex Chang
Sent: Monday, March 24, 2014 4:30 PM
To: nvmewin at lists.openfabrics.org<mailto:nvmewin at lists.openfabrics.org>
Subject: [nvmewin] ***UNCHECKED*** PMC New Patch

Hi all,

Please find the attached patch from PMC-Sierra. The password is pmc123. In order to speed up the entire process and meet our next release date, please review the changes and provide feedbacks as soon as possible. For each outstanding patch, we collect feedbacks for about a week after it is being sent out. A revised patch shall be sent out to include the feedbacks. I will follow up for approval after a week or so to allow more testing and reviewing if necessary.
Summary of changes:

1.       SRB Extension support for Windows 8 and up.

Files changed: nvmeStd.c, nvmeSnti.c, nvmeStat.c, nvmePwrMgmt.c, nvmeInit.c and the related header files.

2.       PRP list building for IOCTL and internal requests.

Files changed: nvmeStd.c, nvmeInit.c and nvmestd.h.

3.       Performance issue in Windows 8/Server 2012.

File changed: nvmeStd.c (removed StorPortGetUncachedExtension calling in NVMeFindAdapter)

4.       NVMeInitAdminQueues return value.

File changed: nvmeStd.c (Instead of returning TRUE/FALSE, return Storport defined status)

5.       Non-contiguous Namespace ID support.

Files changed: nvmeStat.c and nvmeInit.c (When fetching Namespace Structure with an invalid Namespace ID (which is less than value of NN field of Controller Structure), driver moves on to next Namespace ID as long as it's not larger than the value of NN field)

6.       Removal of using mask bits as core index to allocate/identify core tables.

Files changed: nvmeStd.c, nvmeInit.c and the related header files.

7.       Implemented logical processor group defined by Windows.

Files changed: nvmeStd.c, nvmeInit.c and the related header files.

8.       Core-MSI vector-Queue mapping, CMD_ENTRY synchronization and FreeQList access issues are related to using core mask bits as core index (#6) and no support for logical processor group (#7).
Platforms tested:

1.       Windows 7 64-bit

2.       Windows Server 2008 R2

3.       Windows 8 64-bit

4.       Windows Server 2012
Tests run;

1.       Installation(clean and update)/Un-Installation/Enable/Disable/hibernation and resume.

2.       IOMeter 4K Read/write combining in random/sequential manners.

3.       SCSC Compliance.

4.       SDStress.

5.       Quick/full disk formats.

6.       Non-contiguous Namespace IDs.

Thanks,
Alex

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/nvmewin/attachments/20140329/c6f43b6f/attachment.html>


More information about the nvmewin mailing list