From paul.e.luse at intel.com Tue May 1 12:44:25 2012 From: paul.e.luse at intel.com (Luse, Paul E) Date: Tue, 1 May 2012 19:44:25 +0000 Subject: [nvmewin] StartIo Function Return value for NVMePowerControl In-Reply-To: References: Message-ID: <82C9F782B054C94B9FC04A331649C77A0E5668@FMSMSX106.amr.corp.intel.com> Thanks for the note Ravi. Can you please either put a patch together with the fix or simply enter a bug at https://www.openfabrics.org/resources/developer-tools/nvme-windows-development.html. Using the list to simply report something is a good way to make sure it gets lost J From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Ravi Kumar Sent: Sunday, April 29, 2012 10:32 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] StartIo Function Return value for NVMePowerControl Hi, As per observation on Windows the function NVMeStarIo(NVMeStd.c) for Power management, in case NVMePowerControl() returns false it is still completed the request in NVMeStartIo and returns FALSE to StorPort driver. Whereas in case of StartIo returns FALSE StorPort driver treats IO has some issue and try to complete its own in AdapterControl call which create the BSOD to system (Multiple_IO_Request_Complete error). Don't we required to put the check in case failure of handle the power management system need not to be complete the Io as PortDriver makes it complete its own. Regards, Ravi Kumar -------------- next part -------------- An HTML attachment was scrubbed... URL: From v25ravi at gmail.com Tue May 1 20:42:09 2012 From: v25ravi at gmail.com (Ravi Kumar) Date: Wed, 2 May 2012 09:12:09 +0530 Subject: [nvmewin] StartIo Function Return value for NVMePowerControl In-Reply-To: <82C9F782B054C94B9FC04A331649C77A0E5668@FMSMSX106.amr.corp.intel.com> References: <82C9F782B054C94B9FC04A331649C77A0E5668@FMSMSX106.amr.corp.intel.com> Message-ID: Hi Paul, I'll put the patch with proper fix in a day and update the same. Regards, Ravi Kumar On Wed, May 2, 2012 at 1:14 AM, Luse, Paul E wrote: > Thanks for the note Ravi. Can you please either put a patch together > with the fix or simply enter a bug at > https://www.openfabrics.org/resources/developer-tools/nvme-windows-development.html > . Using the list to simply report something is a good way to make sure > it gets lost J**** > > ** ** > > *From:* nvmewin-bounces at lists.openfabrics.org [mailto: > nvmewin-bounces at lists.openfabrics.org] *On Behalf Of *Ravi Kumar > *Sent:* Sunday, April 29, 2012 10:32 PM > *To:* nvmewin at lists.openfabrics.org > *Subject:* [nvmewin] StartIo Function Return value for NVMePowerControl*** > * > > ** ** > > Hi,**** > > **** > > As per observation on Windows the function NVMeStarIo(NVMeStd.c) for Power > management, in case NVMePowerControl()**** > > returns false it is still completed the request in NVMeStartIo and returns > FALSE to StorPort driver. Whereas in case of StartIo returns FALSE StorPort > driver treats IO has some issue and try to complete its own in > AdapterControl call which create the BSOD to system > (Multiple_IO_Request_Complete error).**** > > Don't we required to put the check in case failure of handle the power > management system need not to be complete the Io as PortDriver makes it > complete its own.**** > > **** > > **** > > Regards,**** > > Ravi Kumar**** > -- Regards, Ravi -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.e.luse at intel.com Wed May 2 08:05:12 2012 From: paul.e.luse at intel.com (Luse, Paul E) Date: Wed, 2 May 2012 15:05:12 +0000 Subject: [nvmewin] patch status Message-ID: <82C9F782B054C94B9FC04A331649C77A0E60E4@FMSMSX106.amr.corp.intel.com> Has everyone reviewed the last test/tested the release candidate that I sent out a while back? IDT/LSI? Thx Paul ____________________________________ Paul Luse Sr. Staff Engineer PCG Server Software Engineering Desk: 480.554.3688, Mobile: 480.334.4630 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alex.Chang at idt.com Wed May 2 08:42:02 2012 From: Alex.Chang at idt.com (Chang, Alex) Date: Wed, 2 May 2012 15:42:02 +0000 Subject: [nvmewin] patch status In-Reply-To: <82C9F782B054C94B9FC04A331649C77A0E60E4@FMSMSX106.amr.corp.intel.com> References: <82C9F782B054C94B9FC04A331649C77A0E60E4@FMSMSX106.amr.corp.intel.com> Message-ID: <548C5470AAD9DA4A85D259B663190D3601053F@corpmail1.na.ads.idt.com> Hi Paul, I have reviewed the slides and they are okay to me. Kwok might have some comments. As for the current sources, I started testing it yesterday, will let you know after more testing today. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Wednesday, May 02, 2012 8:05 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] patch status Has everyone reviewed the last test/tested the release candidate that I sent out a while back? IDT/LSI? Thx Paul ____________________________________ Paul Luse Sr. Staff Engineer PCG Server Software Engineering Desk: 480.554.3688, Mobile: 480.334.4630 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alex.Chang at idt.com Wed May 2 09:22:52 2012 From: Alex.Chang at idt.com (Chang, Alex) Date: Wed, 2 May 2012 16:22:52 +0000 Subject: [nvmewin] StartIo Function Return value for NVMePowerControl In-Reply-To: References: <82C9F782B054C94B9FC04A331649C77A0E5668@FMSMSX106.amr.corp.intel.com> Message-ID: <548C5470AAD9DA4A85D259B663190D36010562@corpmail1.na.ads.idt.com> Hi Ravi, For SRB_FUNCTION_POWER requests, NVMeStartIo always returns TRUE (Line 1205 in nvmestd.c) to indicate the request had been successfully initiated/processed. I am not sure why you mentioned it returns FALSE to Storport driver? Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Ravi Kumar Sent: Tuesday, May 01, 2012 8:42 PM To: Luse, Paul E Cc: nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] StartIo Function Return value for NVMePowerControl Hi Paul, I'll put the patch with proper fix in a day and update the same. Regards, Ravi Kumar On Wed, May 2, 2012 at 1:14 AM, Luse, Paul E > wrote: Thanks for the note Ravi. Can you please either put a patch together with the fix or simply enter a bug at https://www.openfabrics.org/resources/developer-tools/nvme-windows-development.html. Using the list to simply report something is a good way to make sure it gets lost :) From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Ravi Kumar Sent: Sunday, April 29, 2012 10:32 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] StartIo Function Return value for NVMePowerControl Hi, As per observation on Windows the function NVMeStarIo(NVMeStd.c) for Power management, in case NVMePowerControl() returns false it is still completed the request in NVMeStartIo and returns FALSE to StorPort driver. Whereas in case of StartIo returns FALSE StorPort driver treats IO has some issue and try to complete its own in AdapterControl call which create the BSOD to system (Multiple_IO_Request_Complete error). Don't we required to put the check in case failure of handle the power management system need not to be complete the Io as PortDriver makes it complete its own. Regards, Ravi Kumar -- Regards, Ravi -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.e.luse at intel.com Wed May 2 09:45:40 2012 From: paul.e.luse at intel.com (Luse, Paul E) Date: Wed, 2 May 2012 16:45:40 +0000 Subject: [nvmewin] patch status In-Reply-To: <548C5470AAD9DA4A85D259B663190D3601053F@corpmail1.na.ads.idt.com> References: <82C9F782B054C94B9FC04A331649C77A0E60E4@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D3601053F@corpmail1.na.ads.idt.com> Message-ID: <82C9F782B054C94B9FC04A331649C77A0E62EA@FMSMSX106.amr.corp.intel.com> Cool, thanks. We already presented the slides at the last WG meeting so not real concerned about that, just want to get that patch applied and binaries released sooner than later Thx Paul From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Wednesday, May 02, 2012 8:42 AM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Hi Paul, I have reviewed the slides and they are okay to me. Kwok might have some comments. As for the current sources, I started testing it yesterday, will let you know after more testing today. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Wednesday, May 02, 2012 8:05 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] patch status Has everyone reviewed the last test/tested the release candidate that I sent out a while back? IDT/LSI? Thx Paul ____________________________________ Paul Luse Sr. Staff Engineer PCG Server Software Engineering Desk: 480.554.3688, Mobile: 480.334.4630 -------------- next part -------------- An HTML attachment was scrubbed... URL: From raymond.c.robles at intel.com Wed May 2 11:50:54 2012 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Wed, 2 May 2012 18:50:54 +0000 Subject: [nvmewin] StartIo Function Return value for NVMePowerControl In-Reply-To: <548C5470AAD9DA4A85D259B663190D36010562@corpmail1.na.ads.idt.com> References: <82C9F782B054C94B9FC04A331649C77A0E5668@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D36010562@corpmail1.na.ads.idt.com> Message-ID: <49158E750348AA499168FD41D88983600C39E541@FMSMSX105.amr.corp.intel.com> I must admit that I didn't quite understand the original problem stated and I should have asked for clarification sooner. Ravi, can you please explain the problem that you see in the SRB_FUNCTION_POWER case by using line numbers from the source code so that we can track where the potential issue before submitting a code patch? Are you inferring that the StartIo function will return FALSE even when the power request has been successfully completed? As Alex mentioned, the StartIo function will return TRUE in the case of handling a SRB_FUNCTION_POWER request. However, please note that we call StorPortNotification with the correct SrbStatus immediately after the call to NVMePowerControl. This will complete the command appropriately back to Storport (with the correct status). The StartIo will always return TRUE indicating the command was successfully started. Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Wednesday, May 02, 2012 9:23 AM To: Ravi Kumar; Luse, Paul E Cc: nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] StartIo Function Return value for NVMePowerControl Hi Ravi, For SRB_FUNCTION_POWER requests, NVMeStartIo always returns TRUE (Line 1205 in nvmestd.c) to indicate the request had been successfully initiated/processed. I am not sure why you mentioned it returns FALSE to Storport driver? Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Ravi Kumar Sent: Tuesday, May 01, 2012 8:42 PM To: Luse, Paul E Cc: nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] StartIo Function Return value for NVMePowerControl Hi Paul, I'll put the patch with proper fix in a day and update the same. Regards, Ravi Kumar On Wed, May 2, 2012 at 1:14 AM, Luse, Paul E > wrote: Thanks for the note Ravi. Can you please either put a patch together with the fix or simply enter a bug at https://www.openfabrics.org/resources/developer-tools/nvme-windows-development.html. Using the list to simply report something is a good way to make sure it gets lost :) From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Ravi Kumar Sent: Sunday, April 29, 2012 10:32 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] StartIo Function Return value for NVMePowerControl Hi, As per observation on Windows the function NVMeStarIo(NVMeStd.c) for Power management, in case NVMePowerControl() returns false it is still completed the request in NVMeStartIo and returns FALSE to StorPort driver. Whereas in case of StartIo returns FALSE StorPort driver treats IO has some issue and try to complete its own in AdapterControl call which create the BSOD to system (Multiple_IO_Request_Complete error). Don't we required to put the check in case failure of handle the power management system need not to be complete the Io as PortDriver makes it complete its own. Regards, Ravi Kumar -- Regards, Ravi -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alex.Chang at idt.com Wed May 2 17:05:15 2012 From: Alex.Chang at idt.com (Chang, Alex) Date: Thu, 3 May 2012 00:05:15 +0000 Subject: [nvmewin] patch status In-Reply-To: <82C9F782B054C94B9FC04A331649C77A0E62EA@FMSMSX106.amr.corp.intel.com> References: <82C9F782B054C94B9FC04A331649C77A0E60E4@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D3601053F@corpmail1.na.ads.idt.com> <82C9F782B054C94B9FC04A331649C77A0E62EA@FMSMSX106.amr.corp.intel.com> Message-ID: <548C5470AAD9DA4A85D259B663190D360105C2@corpmail1.na.ads.idt.com> Hi Paul, The latest patch you added is working fine with me. Thanks a lot for the effort. Thanks, Alex ________________________________ From: Luse, Paul E [mailto:paul.e.luse at intel.com] Sent: Wednesday, May 02, 2012 9:46 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: patch status Cool, thanks. We already presented the slides at the last WG meeting so not real concerned about that, just want to get that patch applied and binaries released sooner than later Thx Paul From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Wednesday, May 02, 2012 8:42 AM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Hi Paul, I have reviewed the slides and they are okay to me. Kwok might have some comments. As for the current sources, I started testing it yesterday, will let you know after more testing today. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Wednesday, May 02, 2012 8:05 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] patch status Has everyone reviewed the last test/tested the release candidate that I sent out a while back? IDT/LSI? Thx Paul ____________________________________ Paul Luse Sr. Staff Engineer PCG Server Software Engineering Desk: 480.554.3688, Mobile: 480.334.4630 -------------- next part -------------- An HTML attachment was scrubbed... URL: From v25ravi at gmail.com Wed May 2 19:52:19 2012 From: v25ravi at gmail.com (Ravi Kumar) Date: Thu, 3 May 2012 08:22:19 +0530 Subject: [nvmewin] StartIo Function Return value for NVMePowerControl In-Reply-To: <49158E750348AA499168FD41D88983600C39E541@FMSMSX105.amr.corp.intel.com> References: <82C9F782B054C94B9FC04A331649C77A0E5668@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D36010562@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983600C39E541@FMSMSX105.amr.corp.intel.com> Message-ID: Hi Ray, I apologize as I am looking for old trunk which returns the "status" received by NVMePowerMgm() parameter directly. In new update it always returns the "TRUE". Thanks for your notice. Regards, Ravi Kumar On Thu, May 3, 2012 at 12:20 AM, Robles, Raymond C < raymond.c.robles at intel.com> wrote: > I must admit that I didn’t quite understand the original problem stated > and I should have asked for clarification sooner. Ravi, can you please > explain the problem that you see in the SRB_FUNCTION_POWER case by using > line numbers from the source code so that we can track where the potential > issue before submitting a code patch?**** > > ** ** > > Are you inferring that the StartIo function will return FALSE even when > the power request has been successfully completed? As Alex mentioned, the > StartIo function will return TRUE in the case of handling a > SRB_FUNCTION_POWER request. However, please note that we call > StorPortNotification with the correct SrbStatus immediately after the call > to NVMePowerControl. This will complete the command appropriately back to > Storport (with the correct status). The StartIo will always return TRUE > indicating the command was successfully started.**** > > ** ** > > Thanks, > Ray**** > > ** ** > > *From:* nvmewin-bounces at lists.openfabrics.org [mailto: > nvmewin-bounces at lists.openfabrics.org] *On Behalf Of *Chang, Alex > *Sent:* Wednesday, May 02, 2012 9:23 AM > *To:* Ravi Kumar; Luse, Paul E > > *Cc:* nvmewin at lists.openfabrics.org > *Subject:* Re: [nvmewin] StartIo Function Return value for > NVMePowerControl**** > > ** ** > > Hi Ravi,**** > > **** > > For SRB_FUNCTION_POWER requests, NVMeStartIo always returns TRUE (Line > 1205 in nvmestd.c) to indicate the request had been successfully > initiated/processed. I am not sure why you mentioned it returns FALSE to > Storport driver?**** > > **** > > Thanks,**** > > Alex**** > > ** ** > ------------------------------ > > *From:* nvmewin-bounces at lists.openfabrics.org > [mailto:nvmewin-bounces at lists.openfabrics.org] *On Behalf Of *Ravi Kumar > *Sent:* Tuesday, May 01, 2012 8:42 PM > *To:* Luse, Paul E > *Cc:* nvmewin at lists.openfabrics.org > *Subject:* Re: [nvmewin] StartIo Function Return value for > NVMePowerControl**** > > Hi Paul,**** > > **** > > I'll put the patch with proper fix in a day and update the same.**** > > **** > > Regards,**** > > Ravi Kumar**** > > On Wed, May 2, 2012 at 1:14 AM, Luse, Paul E > wrote:**** > > Thanks for the note Ravi. Can you please either put a patch together with > the fix or simply enter a bug at > https://www.openfabrics.org/resources/developer-tools/nvme-windows-development.html. > Using the list to simply report something is a good way to make sure it > gets lost J**** > > **** > > *From:* nvmewin-bounces at lists.openfabrics.org [mailto: > nvmewin-bounces at lists.openfabrics.org] *On Behalf Of *Ravi Kumar > *Sent:* Sunday, April 29, 2012 10:32 PM > *To:* nvmewin at lists.openfabrics.org > *Subject:* [nvmewin] StartIo Function Return value for NVMePowerControl*** > * > > **** > > Hi,**** > > **** > > As per observation on Windows the function NVMeStarIo(NVMeStd.c) for Power > management, in case NVMePowerControl()**** > > returns false it is still completed the request in NVMeStartIo and returns > FALSE to StorPort driver. Whereas in case of StartIo returns FALSE StorPort > driver treats IO has some issue and try to complete its own in > AdapterControl call which create the BSOD to system > (Multiple_IO_Request_Complete error).**** > > Don't we required to put the check in case failure of handle the power > management system need not to be complete the Io as PortDriver makes it > complete its own.**** > > **** > > **** > > Regards,**** > > Ravi Kumar**** > > > > > -- **** > > Regards,**** > > Ravi**** > > ** ** > -- Regards, Ravi -------------- next part -------------- An HTML attachment was scrubbed... URL: From v25ravi at gmail.com Wed May 2 20:55:46 2012 From: v25ravi at gmail.com (Ravi Kumar) Date: Thu, 3 May 2012 09:25:46 +0530 Subject: [nvmewin] nvmewin Digest, Vol 5, Issue 4 In-Reply-To: References: Message-ID: Hi All, I apologize on my comments related to StartIo as I was referring the old trunk base. ----------------------- case SRB_FUNCTION_POWER: pPowerSrb = (PSCSI_POWER_REQUEST_BLOCK)Srb; Srb->SrbStatus = SRB_STATUS_SUCCESS; status = NVMePowerControl(pAdapterExtension, pPowerSrb); IO_StorPortNotification(RequestComplete, pAdapterExtension, Srb); --------------------------- which was corrected in updated code base. Regards, Ravi Kumar On Thu, May 3, 2012 at 5:47 AM, wrote: > Send nvmewin mailing list submissions to > nvmewin at lists.openfabrics.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin > or, via email, send a message with subject or body 'help' to > nvmewin-request at lists.openfabrics.org > > You can reach the person managing the list at > nvmewin-owner at lists.openfabrics.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of nvmewin digest..." > > > Today's Topics: > > 1. Re: StartIo Function Return value for NVMePowerControl > (Robles, Raymond C) > 2. Re: patch status (Chang, Alex) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 2 May 2012 18:50:54 +0000 > From: "Robles, Raymond C" > To: "Chang, Alex" , Ravi Kumar > , "Luse, Paul E" > Cc: "nvmewin at lists.openfabrics.org" > Subject: Re: [nvmewin] StartIo Function Return value for > NVMePowerControl > Message-ID: > < > 49158E750348AA499168FD41D88983600C39E541 at FMSMSX105.amr.corp.intel.com> > > Content-Type: text/plain; charset="us-ascii" > > I must admit that I didn't quite understand the original problem stated > and I should have asked for clarification sooner. Ravi, can you please > explain the problem that you see in the SRB_FUNCTION_POWER case by using > line numbers from the source code so that we can track where the potential > issue before submitting a code patch? > > Are you inferring that the StartIo function will return FALSE even when > the power request has been successfully completed? As Alex mentioned, the > StartIo function will return TRUE in the case of handling a > SRB_FUNCTION_POWER request. However, please note that we call > StorPortNotification with the correct SrbStatus immediately after the call > to NVMePowerControl. This will complete the command appropriately back to > Storport (with the correct status). The StartIo will always return TRUE > indicating the command was successfully started. > > Thanks, > Ray > > From: nvmewin-bounces at lists.openfabrics.org [mailto: > nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex > Sent: Wednesday, May 02, 2012 9:23 AM > To: Ravi Kumar; Luse, Paul E > Cc: nvmewin at lists.openfabrics.org > Subject: Re: [nvmewin] StartIo Function Return value for NVMePowerControl > > Hi Ravi, > > For SRB_FUNCTION_POWER requests, NVMeStartIo always returns TRUE (Line > 1205 in nvmestd.c) to indicate the request had been successfully > initiated/processed. I am not sure why you mentioned it returns FALSE to > Storport driver? > > Thanks, > Alex > > ________________________________ > From: nvmewin-bounces at lists.openfabrics.org nvmewin-bounces at lists.openfabrics.org> [mailto: > nvmewin-bounces at lists.openfabrics.org] nvmewin-bounces at lists.openfabrics.org]> On Behalf Of Ravi Kumar > Sent: Tuesday, May 01, 2012 8:42 PM > To: Luse, Paul E > Cc: nvmewin at lists.openfabrics.org > Subject: Re: [nvmewin] StartIo Function Return value for NVMePowerControl > Hi Paul, > > I'll put the patch with proper fix in a day and update the same. > > Regards, > Ravi Kumar > On Wed, May 2, 2012 at 1:14 AM, Luse, Paul E > wrote: > Thanks for the note Ravi. Can you please either put a patch together with > the fix or simply enter a bug at > https://www.openfabrics.org/resources/developer-tools/nvme-windows-development.html. > Using the list to simply report something is a good way to make sure it > gets lost :) > > From: nvmewin-bounces at lists.openfabrics.org nvmewin-bounces at lists.openfabrics.org> [mailto: > nvmewin-bounces at lists.openfabrics.org nvmewin-bounces at lists.openfabrics.org>] On Behalf Of Ravi Kumar > Sent: Sunday, April 29, 2012 10:32 PM > To: nvmewin at lists.openfabrics.org > Subject: [nvmewin] StartIo Function Return value for NVMePowerControl > > Hi, > > As per observation on Windows the function NVMeStarIo(NVMeStd.c) for Power > management, in case NVMePowerControl() > returns false it is still completed the request in NVMeStartIo and returns > FALSE to StorPort driver. Whereas in case of StartIo returns FALSE StorPort > driver treats IO has some issue and try to complete its own in > AdapterControl call which create the BSOD to system > (Multiple_IO_Request_Complete error). > Don't we required to put the check in case failure of handle the power > management system need not to be complete the Io as PortDriver makes it > complete its own. > > > Regards, > Ravi Kumar > > > > -- > Regards, > Ravi > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: < > http://lists.openfabrics.org/pipermail/nvmewin/attachments/20120502/5e133e45/attachment-0001.html > > > > ------------------------------ > > Message: 2 > Date: Thu, 3 May 2012 00:05:15 +0000 > From: "Chang, Alex" > To: "Luse, Paul E" , > "nvmewin at lists.openfabrics.org" > Subject: Re: [nvmewin] patch status > Message-ID: > <548C5470AAD9DA4A85D259B663190D360105C2 at corpmail1.na.ads.idt.com> > Content-Type: text/plain; charset="us-ascii" > > Hi Paul, > > The latest patch you added is working fine with me. Thanks a lot for the > effort. > > Thanks, > Alex > > ________________________________ > From: Luse, Paul E [mailto:paul.e.luse at intel.com] > Sent: Wednesday, May 02, 2012 9:46 AM > To: Chang, Alex; nvmewin at lists.openfabrics.org > Subject: RE: patch status > > Cool, thanks. We already presented the slides at the last WG meeting so > not real concerned about that, just want to get that patch applied and > binaries released sooner than later > > Thx > Paul > > From: Chang, Alex [mailto:Alex.Chang at idt.com] > Sent: Wednesday, May 02, 2012 8:42 AM > To: Luse, Paul E; nvmewin at lists.openfabrics.org > Subject: RE: patch status > > Hi Paul, > > I have reviewed the slides and they are okay to me. Kwok might have some > comments. > As for the current sources, I started testing it yesterday, will let you > know after more testing today. > > Thanks, > Alex > > ________________________________ > From: nvmewin-bounces at lists.openfabrics.org nvmewin-bounces at lists.openfabrics.org> [mailto: > nvmewin-bounces at lists.openfabrics.org] nvmewin-bounces at lists.openfabrics.org]> On Behalf Of Luse, Paul E > Sent: Wednesday, May 02, 2012 8:05 AM > To: nvmewin at lists.openfabrics.org > Subject: [nvmewin] patch status > > Has everyone reviewed the last test/tested the release candidate that I > sent out a while back? IDT/LSI? > > Thx > Paul > > ____________________________________ > Paul Luse > Sr. Staff Engineer > PCG Server Software Engineering > Desk: 480.554.3688, Mobile: 480.334.4630 > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: < > http://lists.openfabrics.org/pipermail/nvmewin/attachments/20120503/02092092/attachment.html > > > > ------------------------------ > > _______________________________________________ > nvmewin mailing list > nvmewin at lists.openfabrics.org > http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin > > > End of nvmewin Digest, Vol 5, Issue 4 > ************************************* > -- Regards, Ravi -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.e.luse at intel.com Thu May 3 12:04:49 2012 From: paul.e.luse at intel.com (Luse, Paul E) Date: Thu, 3 May 2012 19:04:49 +0000 Subject: [nvmewin] patch status In-Reply-To: <548C5470AAD9DA4A85D259B663190D360105C2@corpmail1.na.ads.idt.com> References: <82C9F782B054C94B9FC04A331649C77A0E60E4@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D3601053F@corpmail1.na.ads.idt.com> <82C9F782B054C94B9FC04A331649C77A0E62EA@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D360105C2@corpmail1.na.ads.idt.com> Message-ID: <82C9F782B054C94B9FC04A331649C77A0E746B@FMSMSX106.amr.corp.intel.com> Thanks! IDT?? From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Wednesday, May 02, 2012 5:05 PM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Hi Paul, The latest patch you added is working fine with me. Thanks a lot for the effort. Thanks, Alex ________________________________ From: Luse, Paul E [mailto:paul.e.luse at intel.com] Sent: Wednesday, May 02, 2012 9:46 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: patch status Cool, thanks. We already presented the slides at the last WG meeting so not real concerned about that, just want to get that patch applied and binaries released sooner than later Thx Paul From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Wednesday, May 02, 2012 8:42 AM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Hi Paul, I have reviewed the slides and they are okay to me. Kwok might have some comments. As for the current sources, I started testing it yesterday, will let you know after more testing today. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Wednesday, May 02, 2012 8:05 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] patch status Has everyone reviewed the last test/tested the release candidate that I sent out a while back? IDT/LSI? Thx Paul ____________________________________ Paul Luse Sr. Staff Engineer PCG Server Software Engineering Desk: 480.554.3688, Mobile: 480.334.4630 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alex.Chang at idt.com Thu May 3 13:50:18 2012 From: Alex.Chang at idt.com (Chang, Alex) Date: Thu, 3 May 2012 20:50:18 +0000 Subject: [nvmewin] patch status In-Reply-To: <82C9F782B054C94B9FC04A331649C77A0E746B@FMSMSX106.amr.corp.intel.com> References: <82C9F782B054C94B9FC04A331649C77A0E60E4@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D3601053F@corpmail1.na.ads.idt.com> <82C9F782B054C94B9FC04A331649C77A0E62EA@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D360105C2@corpmail1.na.ads.idt.com> <82C9F782B054C94B9FC04A331649C77A0E746B@FMSMSX106.amr.corp.intel.com> Message-ID: <548C5470AAD9DA4A85D259B663190D360106B0@corpmail1.na.ads.idt.com> Paul, You meant LSI?? Alex ________________________________ From: Luse, Paul E [mailto:paul.e.luse at intel.com] Sent: Thursday, May 03, 2012 12:05 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: patch status Thanks! IDT?? From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Wednesday, May 02, 2012 5:05 PM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Hi Paul, The latest patch you added is working fine with me. Thanks a lot for the effort. Thanks, Alex ________________________________ From: Luse, Paul E [mailto:paul.e.luse at intel.com] Sent: Wednesday, May 02, 2012 9:46 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: patch status Cool, thanks. We already presented the slides at the last WG meeting so not real concerned about that, just want to get that patch applied and binaries released sooner than later Thx Paul From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Wednesday, May 02, 2012 8:42 AM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Hi Paul, I have reviewed the slides and they are okay to me. Kwok might have some comments. As for the current sources, I started testing it yesterday, will let you know after more testing today. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Wednesday, May 02, 2012 8:05 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] patch status Has everyone reviewed the last test/tested the release candidate that I sent out a while back? IDT/LSI? Thx Paul ____________________________________ Paul Luse Sr. Staff Engineer PCG Server Software Engineering Desk: 480.554.3688, Mobile: 480.334.4630 -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.e.luse at intel.com Thu May 3 13:58:50 2012 From: paul.e.luse at intel.com (Luse, Paul E) Date: Thu, 3 May 2012 20:58:50 +0000 Subject: [nvmewin] patch status In-Reply-To: <548C5470AAD9DA4A85D259B663190D360106B0@corpmail1.na.ads.idt.com> References: <82C9F782B054C94B9FC04A331649C77A0E60E4@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D3601053F@corpmail1.na.ads.idt.com> <82C9F782B054C94B9FC04A331649C77A0E62EA@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D360105C2@corpmail1.na.ads.idt.com> <82C9F782B054C94B9FC04A331649C77A0E746B@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D360106B0@corpmail1.na.ads.idt.com> Message-ID: <82C9F782B054C94B9FC04A331649C77A0E76B2@FMSMSX106.amr.corp.intel.com> Sheesh, yes, thanks J Rick or Arpit, any word yet? From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Thursday, May 03, 2012 1:50 PM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Paul, You meant LSI?? Alex ________________________________ From: Luse, Paul E [mailto:paul.e.luse at intel.com] Sent: Thursday, May 03, 2012 12:05 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: patch status Thanks! IDT?? From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Wednesday, May 02, 2012 5:05 PM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Hi Paul, The latest patch you added is working fine with me. Thanks a lot for the effort. Thanks, Alex ________________________________ From: Luse, Paul E [mailto:paul.e.luse at intel.com] Sent: Wednesday, May 02, 2012 9:46 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: patch status Cool, thanks. We already presented the slides at the last WG meeting so not real concerned about that, just want to get that patch applied and binaries released sooner than later Thx Paul From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Wednesday, May 02, 2012 8:42 AM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Hi Paul, I have reviewed the slides and they are okay to me. Kwok might have some comments. As for the current sources, I started testing it yesterday, will let you know after more testing today. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Wednesday, May 02, 2012 8:05 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] patch status Has everyone reviewed the last test/tested the release candidate that I sent out a while back? IDT/LSI? Thx Paul ____________________________________ Paul Luse Sr. Staff Engineer PCG Server Software Engineering Desk: 480.554.3688, Mobile: 480.334.4630 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Rick.Knoblaugh at lsi.com Thu May 3 14:07:23 2012 From: Rick.Knoblaugh at lsi.com (Knoblaugh, Rick) Date: Thu, 3 May 2012 15:07:23 -0600 Subject: [nvmewin] patch status In-Reply-To: <82C9F782B054C94B9FC04A331649C77A0E76B2@FMSMSX106.amr.corp.intel.com> References: <82C9F782B054C94B9FC04A331649C77A0E60E4@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D3601053F@corpmail1.na.ads.idt.com> <82C9F782B054C94B9FC04A331649C77A0E62EA@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D360105C2@corpmail1.na.ads.idt.com> <82C9F782B054C94B9FC04A331649C77A0E746B@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D360106B0@corpmail1.na.ads.idt.com> <82C9F782B054C94B9FC04A331649C77A0E76B2@FMSMSX106.amr.corp.intel.com> Message-ID: <4565AEA676113A449269C2F3A549520FB61424CC@cosmail03.lsi.com> Hi Paul, Yes, we are good with the patch. Thanks. -Rick From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Thursday, May 03, 2012 1:59 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] patch status Sheesh, yes, thanks :) Rick or Arpit, any word yet? From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Thursday, May 03, 2012 1:50 PM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Paul, You meant LSI?? Alex ________________________________ From: Luse, Paul E [mailto:paul.e.luse at intel.com] Sent: Thursday, May 03, 2012 12:05 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: patch status Thanks! IDT?? From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Wednesday, May 02, 2012 5:05 PM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Hi Paul, The latest patch you added is working fine with me. Thanks a lot for the effort. Thanks, Alex ________________________________ From: Luse, Paul E [mailto:paul.e.luse at intel.com] Sent: Wednesday, May 02, 2012 9:46 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: patch status Cool, thanks. We already presented the slides at the last WG meeting so not real concerned about that, just want to get that patch applied and binaries released sooner than later Thx Paul From: Chang, Alex [mailto:Alex.Chang at idt.com] Sent: Wednesday, May 02, 2012 8:42 AM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: patch status Hi Paul, I have reviewed the slides and they are okay to me. Kwok might have some comments. As for the current sources, I started testing it yesterday, will let you know after more testing today. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Wednesday, May 02, 2012 8:05 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] patch status Has everyone reviewed the last test/tested the release candidate that I sent out a while back? IDT/LSI? Thx Paul ____________________________________ Paul Luse Sr. Staff Engineer PCG Server Software Engineering Desk: 480.554.3688, Mobile: 480.334.4630 -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Thu May 3 14:44:02 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Thu, 3 May 2012 21:44:02 +0000 Subject: [nvmewin] Turning on Storportdebugprint() Message-ID: <2D98093777D3FD46A36253F35FE9D69346B15637@ORSMSX102.amr.corp.intel.com> Hi all, Sorry for the elementary question, but how does one turn on print messages like: StorPortDebugPrint(INFO, "NVMeEnumNumaCores: # of NUMA node(s) = %d.\n", Node + 1); Can a function() or a #define be written/set in code? Does it have to be compiled in a debug compile? How is this seen? Could it be viewed in debugview.exe? Thanks! Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: From raymond.c.robles at intel.com Thu May 3 15:22:01 2012 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Thu, 3 May 2012 22:22:01 +0000 Subject: [nvmewin] Turning on Storportdebugprint() In-Reply-To: <2D98093777D3FD46A36253F35FE9D69346B15637@ORSMSX102.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B15637@ORSMSX102.amr.corp.intel.com> Message-ID: <49158E750348AA499168FD41D88983600C39F0FF@FMSMSX105.amr.corp.intel.com> You can enable prints within your WinDbg session by typing the following command: ed Kd_StorMiniport_Mask 0xf Note that the mask indicates the level of verbosity. The verbosity is set for each print in the code by the first parameter (in your example below, INFO is the verbosity level). You can also enter a registry value for enabling prints from the Windows NVMe miniport... however, I would not recommend this if you are going to be running normal I/O as the performance will come to a crawl during reads and writes. But there are many articles on how to do this... you'll just need to find the correct nvme.sys location in registry. Here is an OSR article on how to enable in the registry. Keep in mind if you just want the nvme.sys debug prints, you'll need to find the correct location for the nvme.sys driver in the registry. http://www.osronline.com/article.cfm?article=295 If you want to enable it in the registry, let me know and I'll look for it on my test system. Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Thursday, May 03, 2012 2:44 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Turning on Storportdebugprint() Hi all, Sorry for the elementary question, but how does one turn on print messages like: StorPortDebugPrint(INFO, "NVMeEnumNumaCores: # of NUMA node(s) = %d.\n", Node + 1); Can a function() or a #define be written/set in code? Does it have to be compiled in a debug compile? How is this seen? Could it be viewed in debugview.exe? Thanks! Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Thu May 3 15:47:08 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Thu, 3 May 2012 22:47:08 +0000 Subject: [nvmewin] Turning on Storportdebugprint() In-Reply-To: <49158E750348AA499168FD41D88983600C39F0FF@FMSMSX105.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B15637@ORSMSX102.amr.corp.intel.com> <49158E750348AA499168FD41D88983600C39F0FF@FMSMSX105.amr.corp.intel.com> Message-ID: <2D98093777D3FD46A36253F35FE9D69346B156A0@ORSMSX102.amr.corp.intel.com> Yes, I think I would like it enabled in the registry. I can see kernel messages being generated in debugview.exe...I just want to see if I can see nvme.sys debug messages using the same mechanism. Having a windbg session to validate in a simple hello_world() function that I stick in gets called seems like an overkill. Thanks! From: Robles, Raymond C Sent: Thursday, May 03, 2012 3:22 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: RE: Turning on Storportdebugprint() You can enable prints within your WinDbg session by typing the following command: ed Kd_StorMiniport_Mask 0xf Note that the mask indicates the level of verbosity. The verbosity is set for each print in the code by the first parameter (in your example below, INFO is the verbosity level). You can also enter a registry value for enabling prints from the Windows NVMe miniport... however, I would not recommend this if you are going to be running normal I/O as the performance will come to a crawl during reads and writes. But there are many articles on how to do this... you'll just need to find the correct nvme.sys location in registry. Here is an OSR article on how to enable in the registry. Keep in mind if you just want the nvme.sys debug prints, you'll need to find the correct location for the nvme.sys driver in the registry. http://www.osronline.com/article.cfm?article=295 If you want to enable it in the registry, let me know and I'll look for it on my test system. Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Thursday, May 03, 2012 2:44 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Turning on Storportdebugprint() Hi all, Sorry for the elementary question, but how does one turn on print messages like: StorPortDebugPrint(INFO, "NVMeEnumNumaCores: # of NUMA node(s) = %d.\n", Node + 1); Can a function() or a #define be written/set in code? Does it have to be compiled in a debug compile? How is this seen? Could it be viewed in debugview.exe? Thanks! Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: From raymond.c.robles at intel.com Thu May 3 16:24:31 2012 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Thu, 3 May 2012 23:24:31 +0000 Subject: [nvmewin] Turning on Storportdebugprint() In-Reply-To: <2D98093777D3FD46A36253F35FE9D69346B156A0@ORSMSX102.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B15637@ORSMSX102.amr.corp.intel.com> <49158E750348AA499168FD41D88983600C39F0FF@FMSMSX105.amr.corp.intel.com> <2D98093777D3FD46A36253F35FE9D69346B156A0@ORSMSX102.amr.corp.intel.com> Message-ID: <49158E750348AA499168FD41D88983600C39F13A@FMSMSX105.amr.corp.intel.com> To enable prints from the registry, you can just follow the instructions from the article. Basically, create a new entry "Debug Print Filter" under "Session Manager", and then add the "DEFAULT" dword and set it to 'f'. This will enable debug prints for your system. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter] "DEFAULT"=dword:0000000f (so it is Debug Print Filter to be set to f) You can also try adding the "Debug Print Filter" under "Parameters" in the following location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\nvme\Parameters\Debug Print Filter] "DEFAULT"=dword:0000000f Keep in mind this will slow down your system especially on boot (lots of read and writes done at this time) and formatting a namespace... which is why we usually use WinDbg to test changes we've made to the driver (plus you can also catch error scenarios). But this should work for using DebugView. Thanks, Ray From: Freyensee, James P Sent: Thursday, May 03, 2012 3:47 PM To: Robles, Raymond C; nvmewin at lists.openfabrics.org Subject: RE: Turning on Storportdebugprint() Yes, I think I would like it enabled in the registry. I can see kernel messages being generated in debugview.exe...I just want to see if I can see nvme.sys debug messages using the same mechanism. Having a windbg session to validate in a simple hello_world() function that I stick in gets called seems like an overkill. Thanks! From: Robles, Raymond C Sent: Thursday, May 03, 2012 3:22 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: RE: Turning on Storportdebugprint() You can enable prints within your WinDbg session by typing the following command: ed Kd_StorMiniport_Mask 0xf Note that the mask indicates the level of verbosity. The verbosity is set for each print in the code by the first parameter (in your example below, INFO is the verbosity level). You can also enter a registry value for enabling prints from the Windows NVMe miniport... however, I would not recommend this if you are going to be running normal I/O as the performance will come to a crawl during reads and writes. But there are many articles on how to do this... you'll just need to find the correct nvme.sys location in registry. Here is an OSR article on how to enable in the registry. Keep in mind if you just want the nvme.sys debug prints, you'll need to find the correct location for the nvme.sys driver in the registry. http://www.osronline.com/article.cfm?article=295 If you want to enable it in the registry, let me know and I'll look for it on my test system. Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Thursday, May 03, 2012 2:44 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Turning on Storportdebugprint() Hi all, Sorry for the elementary question, but how does one turn on print messages like: StorPortDebugPrint(INFO, "NVMeEnumNumaCores: # of NUMA node(s) = %d.\n", Node + 1); Can a function() or a #define be written/set in code? Does it have to be compiled in a debug compile? How is this seen? Could it be viewed in debugview.exe? Thanks! Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Mon May 7 13:56:21 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Mon, 7 May 2012 20:56:21 +0000 Subject: [nvmewin] Exposing read-only values in registry for validation... Message-ID: <2D98093777D3FD46A36253F35FE9D69346B21BD5@ORSMSX101.amr.corp.intel.com> I want to expose the values of 'NumMsiMsgGranted' and 'NumMsiMsgGranted'in the NVMe driver in the registry as read-only for validation purposes (by eyeball or by code I have which can go get any registry key asked). I thought just using ZwCreateKey() or RtlWriteRegistryValue() could serve my purpose. However, I see that registry entries like 'Device Entries' are defined in nvme.inf and then accessed by the NVMeFetchRegistry() method. Since I assumed 'NumMsiMsgGranted' and 'NumMsiMsgGranted' would be set upon driver load, I thought NVMeFetchRegistry() could write the values to new registry entries via: memcpy((PVOID)pBuf, (PVOID)(&pAE->ResMapTbl.NumMsiMsgGranted), sizeof(ULONG)); NVMeWriteRegistry(pAE, NUMMSIMSGGRANTED, Type, pBuf, Len); With those registry entries defined in the .inf file so they are already created: HKR, Parameters\Device, NumMsiMsgGranted, %REG_DWORD%, 0x00000000 ; Number of MSI messages granted in system. RO entry. HKR, Parameters\Device, NumActiveCores, %REG_DWORD%, 0x00000000 ; Number of active cores in system. This would be a RO entry. However, it does not seem to be the case as I still see 0's. Is there a recommended way of creating registry values to expose NVMe variables for state-validating purposes? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.e.luse at intel.com Tue May 8 12:23:28 2012 From: paul.e.luse at intel.com (Luse, Paul E) Date: Tue, 8 May 2012 19:23:28 +0000 Subject: [nvmewin] Exposing read-only values in registry for validation... In-Reply-To: <2D98093777D3FD46A36253F35FE9D69346B21BD5@ORSMSX101.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B21BD5@ORSMSX101.amr.corp.intel.com> Message-ID: <82C9F782B054C94B9FC04A331649C77A024EA4BB@FMSMSX105.amr.corp.intel.com> Jay, A storport minipoprt has a limit set of API that are 'legal' you are proposing calls that we can't use so I wouldn't even try to investigate you're implemented. Instead look at http://msdn.microsoft.com/en-us/library/windows/hardware/ff567492%28v=vs.85%29.aspx and see if works for you. Thx Paul From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Monday, May 07, 2012 1:56 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Exposing read-only values in registry for validation... I want to expose the values of 'NumMsiMsgGranted' and 'NumMsiMsgGranted'in the NVMe driver in the registry as read-only for validation purposes (by eyeball or by code I have which can go get any registry key asked). I thought just using ZwCreateKey() or RtlWriteRegistryValue() could serve my purpose. However, I see that registry entries like 'Device Entries' are defined in nvme.inf and then accessed by the NVMeFetchRegistry() method. Since I assumed 'NumMsiMsgGranted' and 'NumMsiMsgGranted' would be set upon driver load, I thought NVMeFetchRegistry() could write the values to new registry entries via: memcpy((PVOID)pBuf, (PVOID)(&pAE->ResMapTbl.NumMsiMsgGranted), sizeof(ULONG)); NVMeWriteRegistry(pAE, NUMMSIMSGGRANTED, Type, pBuf, Len); With those registry entries defined in the .inf file so they are already created: HKR, Parameters\Device, NumMsiMsgGranted, %REG_DWORD%, 0x00000000 ; Number of MSI messages granted in system. RO entry. HKR, Parameters\Device, NumActiveCores, %REG_DWORD%, 0x00000000 ; Number of active cores in system. This would be a RO entry. However, it does not seem to be the case as I still see 0's. Is there a recommended way of creating registry values to expose NVMe variables for state-validating purposes? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.e.luse at intel.com Tue May 8 12:32:34 2012 From: paul.e.luse at intel.com (Luse, Paul E) Date: Tue, 8 May 2012 19:32:34 +0000 Subject: [nvmewin] Exposing read-only values in registry for validation... References: <2D98093777D3FD46A36253F35FE9D69346B21BD5@ORSMSX101.amr.corp.intel.com> Message-ID: <82C9F782B054C94B9FC04A331649C77A024EB4E1@FMSMSX105.amr.corp.intel.com> Jay- Sorry, read this too quickly. The comments on the non-storport API still applies, but I didn't realize you were using the inf to create the keys and NVMeWriteRegistry()to write to the reg. Did you verify that are passing in a non-zero value into that function as we don't have other callers to it. Thx Paul From: Luse, Paul E Sent: Tuesday, May 08, 2012 12:15 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: RE: Exposing read-only values in registry for validation... Jay, A storport minipoprt has a limit set of API that are 'legal' you are proposing calls that we can't use so I wouldn't even try to investigate you're implemented. Instead look at http://msdn.microsoft.com/en-us/library/windows/hardware/ff567492%28v=vs.85%29.aspx and see if works for you. Thx Paul From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Monday, May 07, 2012 1:56 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Exposing read-only values in registry for validation... I want to expose the values of 'NumMsiMsgGranted' and 'NumMsiMsgGranted'in the NVMe driver in the registry as read-only for validation purposes (by eyeball or by code I have which can go get any registry key asked). I thought just using ZwCreateKey() or RtlWriteRegistryValue() could serve my purpose. However, I see that registry entries like 'Device Entries' are defined in nvme.inf and then accessed by the NVMeFetchRegistry() method. Since I assumed 'NumMsiMsgGranted' and 'NumMsiMsgGranted' would be set upon driver load, I thought NVMeFetchRegistry() could write the values to new registry entries via: memcpy((PVOID)pBuf, (PVOID)(&pAE->ResMapTbl.NumMsiMsgGranted), sizeof(ULONG)); NVMeWriteRegistry(pAE, NUMMSIMSGGRANTED, Type, pBuf, Len); With those registry entries defined in the .inf file so they are already created: HKR, Parameters\Device, NumMsiMsgGranted, %REG_DWORD%, 0x00000000 ; Number of MSI messages granted in system. RO entry. HKR, Parameters\Device, NumActiveCores, %REG_DWORD%, 0x00000000 ; Number of active cores in system. This would be a RO entry. However, it does not seem to be the case as I still see 0's. Is there a recommended way of creating registry values to expose NVMe variables for state-validating purposes? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Tue May 8 12:37:37 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Tue, 8 May 2012 19:37:37 +0000 Subject: [nvmewin] Exposing read-only values in registry for validation... In-Reply-To: <82C9F782B054C94B9FC04A331649C77A024EB4E1@FMSMSX105.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B21BD5@ORSMSX101.amr.corp.intel.com> <82C9F782B054C94B9FC04A331649C77A024EB4E1@FMSMSX105.amr.corp.intel.com> Message-ID: <2D98093777D3FD46A36253F35FE9D69346B29DA2@ORSMSX101.amr.corp.intel.com> Since I discovered that the .inf file overrides the initial values I saw being set in NVMeFindAdapter(), I was just trying "to-go-with-the-flow" and use the .inf file since it appeared that was the preferred method of creating registry keys. Then I'd call NVMeWriteRegistry() to update the registry entries I created to see the values I want to see. I believe I did verify I'm passing a non-zero value. I made a change to the driver to see if I figured this out, but I have been unable to verify if this worked because my test system's hard drive crashed-and-burned and haven't been able to fix it yet :(. From: Luse, Paul E Sent: Tuesday, May 08, 2012 12:33 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: RE: Exposing read-only values in registry for validation... Jay- Sorry, read this too quickly. The comments on the non-storport API still applies, but I didn't realize you were using the inf to create the keys and NVMeWriteRegistry()to write to the reg. Did you verify that are passing in a non-zero value into that function as we don't have other callers to it. Thx Paul From: Luse, Paul E Sent: Tuesday, May 08, 2012 12:15 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: RE: Exposing read-only values in registry for validation... Jay, A storport minipoprt has a limit set of API that are 'legal' you are proposing calls that we can't use so I wouldn't even try to investigate you're implemented. Instead look at http://msdn.microsoft.com/en-us/library/windows/hardware/ff567492%28v=vs.85%29.aspx and see if works for you. Thx Paul From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Monday, May 07, 2012 1:56 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Exposing read-only values in registry for validation... I want to expose the values of 'NumMsiMsgGranted' and 'NumMsiMsgGranted'in the NVMe driver in the registry as read-only for validation purposes (by eyeball or by code I have which can go get any registry key asked). I thought just using ZwCreateKey() or RtlWriteRegistryValue() could serve my purpose. However, I see that registry entries like 'Device Entries' are defined in nvme.inf and then accessed by the NVMeFetchRegistry() method. Since I assumed 'NumMsiMsgGranted' and 'NumMsiMsgGranted' would be set upon driver load, I thought NVMeFetchRegistry() could write the values to new registry entries via: memcpy((PVOID)pBuf, (PVOID)(&pAE->ResMapTbl.NumMsiMsgGranted), sizeof(ULONG)); NVMeWriteRegistry(pAE, NUMMSIMSGGRANTED, Type, pBuf, Len); With those registry entries defined in the .inf file so they are already created: HKR, Parameters\Device, NumMsiMsgGranted, %REG_DWORD%, 0x00000000 ; Number of MSI messages granted in system. RO entry. HKR, Parameters\Device, NumActiveCores, %REG_DWORD%, 0x00000000 ; Number of active cores in system. This would be a RO entry. However, it does not seem to be the case as I still see 0's. Is there a recommended way of creating registry values to expose NVMe variables for state-validating purposes? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Thu May 10 12:30:08 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Thu, 10 May 2012 19:30:08 +0000 Subject: [nvmewin] Exposing read-only values in registry for validation... In-Reply-To: <2D98093777D3FD46A36253F35FE9D69346B29DA2@ORSMSX101.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B21BD5@ORSMSX101.amr.corp.intel.com> <82C9F782B054C94B9FC04A331649C77A024EB4E1@FMSMSX105.amr.corp.intel.com> <2D98093777D3FD46A36253F35FE9D69346B29DA2@ORSMSX101.amr.corp.intel.com> Message-ID: <2D98093777D3FD46A36253F35FE9D69346B2E7F5@ORSMSX101.amr.corp.intel.com> Turns out what I did do: memcpy((PVOID)pBuf, (PVOID)(&pAE->ResMapTbl.NumMsiMsgGranted), sizeof(ULONG)); NVMeWriteRegistry(pAE, NUMMSIMSGGRANTED, Type, pBuf, Len); Does work and loads values to the registry. I just needed to move this code to a different spot. Thanks! From: Freyensee, James P Sent: Tuesday, May 08, 2012 12:38 PM To: Luse, Paul E; nvmewin at lists.openfabrics.org Subject: RE: Exposing read-only values in registry for validation... Since I discovered that the .inf file overrides the initial values I saw being set in NVMeFindAdapter(), I was just trying "to-go-with-the-flow" and use the .inf file since it appeared that was the preferred method of creating registry keys. Then I'd call NVMeWriteRegistry() to update the registry entries I created to see the values I want to see. I believe I did verify I'm passing a non-zero value. I made a change to the driver to see if I figured this out, but I have been unable to verify if this worked because my test system's hard drive crashed-and-burned and haven't been able to fix it yet :(. From: Luse, Paul E Sent: Tuesday, May 08, 2012 12:33 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: RE: Exposing read-only values in registry for validation... Jay- Sorry, read this too quickly. The comments on the non-storport API still applies, but I didn't realize you were using the inf to create the keys and NVMeWriteRegistry()to write to the reg. Did you verify that are passing in a non-zero value into that function as we don't have other callers to it. Thx Paul From: Luse, Paul E Sent: Tuesday, May 08, 2012 12:15 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: RE: Exposing read-only values in registry for validation... Jay, A storport minipoprt has a limit set of API that are 'legal' you are proposing calls that we can't use so I wouldn't even try to investigate you're implemented. Instead look at http://msdn.microsoft.com/en-us/library/windows/hardware/ff567492%28v=vs.85%29.aspx and see if works for you. Thx Paul From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Monday, May 07, 2012 1:56 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Exposing read-only values in registry for validation... I want to expose the values of 'NumMsiMsgGranted' and 'NumMsiMsgGranted'in the NVMe driver in the registry as read-only for validation purposes (by eyeball or by code I have which can go get any registry key asked). I thought just using ZwCreateKey() or RtlWriteRegistryValue() could serve my purpose. However, I see that registry entries like 'Device Entries' are defined in nvme.inf and then accessed by the NVMeFetchRegistry() method. Since I assumed 'NumMsiMsgGranted' and 'NumMsiMsgGranted' would be set upon driver load, I thought NVMeFetchRegistry() could write the values to new registry entries via: memcpy((PVOID)pBuf, (PVOID)(&pAE->ResMapTbl.NumMsiMsgGranted), sizeof(ULONG)); NVMeWriteRegistry(pAE, NUMMSIMSGGRANTED, Type, pBuf, Len); With those registry entries defined in the .inf file so they are already created: HKR, Parameters\Device, NumMsiMsgGranted, %REG_DWORD%, 0x00000000 ; Number of MSI messages granted in system. RO entry. HKR, Parameters\Device, NumActiveCores, %REG_DWORD%, 0x00000000 ; Number of active cores in system. This would be a RO entry. However, it does not seem to be the case as I still see 0's. Is there a recommended way of creating registry values to expose NVMe variables for state-validating purposes? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From bpowers at cadence.com Fri May 11 09:09:31 2012 From: bpowers at cadence.com (Brenda Powers) Date: Fri, 11 May 2012 09:09:31 -0700 Subject: [nvmewin] Cadence - new NVMe driver developer Message-ID: Good Morning: I am starting to use the Windows NVMe driver and need some initial guidance. I am using Visual Studio Beta 11 as my environment. I created a new project from the NVMe code. When I build the code I receive an error: Error 1 error C1083: Cannot open include file: 'ntddk.h': No such file or directory c:\users\bpowers\desktop\feg\nvmee_windows_driver\nvmewin\nvmewin\trunk\source\precomp.h 48 1 NVMeDriver The precomp.h file has the contents: /* * File: precomp.h */ #include "ntddk.h" #include "ntddscsi.h" #include "ntdddisk.h" #include #include "nvme.h" #include "nvmeReg.h" #include "nvmeIoctl.h" #include "nvmeStd.h" #include "nvmePwrMgmt.h" #include "nvmeSnti.h" #include "nvmeSntiUtils.h" #include "nvmeSntiTypes.h" #include "nvmeIo.h" Is there anything I have to do to setup the Visual Studio configuration to find this header file? -------------- next part -------------- An HTML attachment was scrubbed... URL: From aruna.ramakrishna at intel.com Fri May 11 09:26:47 2012 From: aruna.ramakrishna at intel.com (Ramakrishna, Aruna) Date: Fri, 11 May 2012 16:26:47 +0000 Subject: [nvmewin] Cadence - new NVMe driver developer In-Reply-To: References: Message-ID: You should create the VS project as a driver project (project type settings); that should be it. Thanks, Aruna From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Brenda Powers Sent: Friday, May 11, 2012 9:10 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Cadence - new NVMe driver developer Good Morning: I am starting to use the Windows NVMe driver and need some initial guidance. I am using Visual Studio Beta 11 as my environment. I created a new project from the NVMe code. When I build the code I receive an error: Error 1 error C1083: Cannot open include file: 'ntddk.h': No such file or directory c:\users\bpowers\desktop\feg\nvmee_windows_driver\nvmewin\nvmewin\trunk\source\precomp.h 48 1 NVMeDriver The precomp.h file has the contents: /* * File: precomp.h */ #include "ntddk.h" #include "ntddscsi.h" #include "ntdddisk.h" #include #include "nvme.h" #include "nvmeReg.h" #include "nvmeIoctl.h" #include "nvmeStd.h" #include "nvmePwrMgmt.h" #include "nvmeSnti.h" #include "nvmeSntiUtils.h" #include "nvmeSntiTypes.h" #include "nvmeIo.h" Is there anything I have to do to setup the Visual Studio configuration to find this header file? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bpowers at cadence.com Fri May 11 09:27:30 2012 From: bpowers at cadence.com (Brenda Powers) Date: Fri, 11 May 2012 09:27:30 -0700 Subject: [nvmewin] Cadence - new NVMe driver developer In-Reply-To: References: Message-ID: Thank you. Do I need to use the Windows Driver Kit? Brenda From: Ramakrishna, Aruna [mailto:aruna.ramakrishna at intel.com] Sent: Friday, May 11, 2012 9:27 AM To: Brenda Powers; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer You should create the VS project as a driver project (project type settings); that should be it. Thanks, Aruna From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Brenda Powers Sent: Friday, May 11, 2012 9:10 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Cadence - new NVMe driver developer Good Morning: I am starting to use the Windows NVMe driver and need some initial guidance. I am using Visual Studio Beta 11 as my environment. I created a new project from the NVMe code. When I build the code I receive an error: Error 1 error C1083: Cannot open include file: 'ntddk.h': No such file or directory c:\users\bpowers\desktop\feg\nvmee_windows_driver\nvmewin\nvmewin\trunk\source\precomp.h 48 1 NVMeDriver The precomp.h file has the contents: /* * File: precomp.h */ #include "ntddk.h" #include "ntddscsi.h" #include "ntdddisk.h" #include #include "nvme.h" #include "nvmeReg.h" #include "nvmeIoctl.h" #include "nvmeStd.h" #include "nvmePwrMgmt.h" #include "nvmeSnti.h" #include "nvmeSntiUtils.h" #include "nvmeSntiTypes.h" #include "nvmeIo.h" Is there anything I have to do to setup the Visual Studio configuration to find this header file? -------------- next part -------------- An HTML attachment was scrubbed... URL: From aruna.ramakrishna at intel.com Fri May 11 09:28:41 2012 From: aruna.ramakrishna at intel.com (Ramakrishna, Aruna) Date: Fri, 11 May 2012 16:28:41 +0000 Subject: [nvmewin] Cadence - new NVMe driver developer In-Reply-To: References: Message-ID: Yes, but I don't think you need to do anything specific to include that. It should be integrated with the new VS 11. From: Brenda Powers [mailto:bpowers at cadence.com] Sent: Friday, May 11, 2012 9:28 AM To: Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer Thank you. Do I need to use the Windows Driver Kit? Brenda From: Ramakrishna, Aruna [mailto:aruna.ramakrishna at intel.com] Sent: Friday, May 11, 2012 9:27 AM To: Brenda Powers; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer You should create the VS project as a driver project (project type settings); that should be it. Thanks, Aruna From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Brenda Powers Sent: Friday, May 11, 2012 9:10 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Cadence - new NVMe driver developer Good Morning: I am starting to use the Windows NVMe driver and need some initial guidance. I am using Visual Studio Beta 11 as my environment. I created a new project from the NVMe code. When I build the code I receive an error: Error 1 error C1083: Cannot open include file: 'ntddk.h': No such file or directory c:\users\bpowers\desktop\feg\nvmee_windows_driver\nvmewin\nvmewin\trunk\source\precomp.h 48 1 NVMeDriver The precomp.h file has the contents: /* * File: precomp.h */ #include "ntddk.h" #include "ntddscsi.h" #include "ntdddisk.h" #include #include "nvme.h" #include "nvmeReg.h" #include "nvmeIoctl.h" #include "nvmeStd.h" #include "nvmePwrMgmt.h" #include "nvmeSnti.h" #include "nvmeSntiUtils.h" #include "nvmeSntiTypes.h" #include "nvmeIo.h" Is there anything I have to do to setup the Visual Studio configuration to find this header file? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bpowers at cadence.com Fri May 11 09:29:51 2012 From: bpowers at cadence.com (Brenda Powers) Date: Fri, 11 May 2012 09:29:51 -0700 Subject: [nvmewin] Cadence - new NVMe driver developer In-Reply-To: References: Message-ID: Thank you, I will try that. Sorry, but I developed NT drivers 15 or so yrs. ago and I am really out of date on developing Windows drivers. Brenda From: Ramakrishna, Aruna [mailto:aruna.ramakrishna at intel.com] Sent: Friday, May 11, 2012 9:29 AM To: Brenda Powers; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer Yes, but I don't think you need to do anything specific to include that. It should be integrated with the new VS 11. From: Brenda Powers [mailto:bpowers at cadence.com] Sent: Friday, May 11, 2012 9:28 AM To: Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer Thank you. Do I need to use the Windows Driver Kit? Brenda From: Ramakrishna, Aruna [mailto:aruna.ramakrishna at intel.com] Sent: Friday, May 11, 2012 9:27 AM To: Brenda Powers; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer You should create the VS project as a driver project (project type settings); that should be it. Thanks, Aruna From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Brenda Powers Sent: Friday, May 11, 2012 9:10 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Cadence - new NVMe driver developer Good Morning: I am starting to use the Windows NVMe driver and need some initial guidance. I am using Visual Studio Beta 11 as my environment. I created a new project from the NVMe code. When I build the code I receive an error: Error 1 error C1083: Cannot open include file: 'ntddk.h': No such file or directory c:\users\bpowers\desktop\feg\nvmee_windows_driver\nvmewin\nvmewin\trunk\source\precomp.h 48 1 NVMeDriver The precomp.h file has the contents: /* * File: precomp.h */ #include "ntddk.h" #include "ntddscsi.h" #include "ntdddisk.h" #include #include "nvme.h" #include "nvmeReg.h" #include "nvmeIoctl.h" #include "nvmeStd.h" #include "nvmePwrMgmt.h" #include "nvmeSnti.h" #include "nvmeSntiUtils.h" #include "nvmeSntiTypes.h" #include "nvmeIo.h" Is there anything I have to do to setup the Visual Studio configuration to find this header file? -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Fri May 11 15:34:38 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Fri, 11 May 2012 22:34:38 +0000 Subject: [nvmewin] Cadence - new NVMe driver developer In-Reply-To: References: Message-ID: <2D98093777D3FD46A36253F35FE9D69346B3143F@ORSMSX101.amr.corp.intel.com> The NVMe driver has been designed to be built without using VS, but for VS11 there is an easy way to port the build into VS11: >From the main menu in VS 11, go: File->Open->Convert Sources/Dir Find the 'sources' file from the resulting pop-up file explorer window. That is it. It makes two projects: Nvme-Package and nvme. I don't know what Nvme-package is yet, but trying to build it fails. I just turned it off and just build 'nvme'. I assume though nvme-Package has something to do with signing the driver. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Brenda Powers Sent: Friday, May 11, 2012 9:30 AM To: Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Cadence - new NVMe driver developer Thank you, I will try that. Sorry, but I developed NT drivers 15 or so yrs. ago and I am really out of date on developing Windows drivers. Brenda From: Ramakrishna, Aruna [mailto:aruna.ramakrishna at intel.com] Sent: Friday, May 11, 2012 9:29 AM To: Brenda Powers; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer Yes, but I don't think you need to do anything specific to include that. It should be integrated with the new VS 11. From: Brenda Powers [mailto:bpowers at cadence.com] Sent: Friday, May 11, 2012 9:28 AM To: Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer Thank you. Do I need to use the Windows Driver Kit? Brenda From: Ramakrishna, Aruna [mailto:aruna.ramakrishna at intel.com] Sent: Friday, May 11, 2012 9:27 AM To: Brenda Powers; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer You should create the VS project as a driver project (project type settings); that should be it. Thanks, Aruna From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Brenda Powers Sent: Friday, May 11, 2012 9:10 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Cadence - new NVMe driver developer Good Morning: I am starting to use the Windows NVMe driver and need some initial guidance. I am using Visual Studio Beta 11 as my environment. I created a new project from the NVMe code. When I build the code I receive an error: Error 1 error C1083: Cannot open include file: 'ntddk.h': No such file or directory c:\users\bpowers\desktop\feg\nvmee_windows_driver\nvmewin\nvmewin\trunk\source\precomp.h 48 1 NVMeDriver The precomp.h file has the contents: /* * File: precomp.h */ #include "ntddk.h" #include "ntddscsi.h" #include "ntdddisk.h" #include #include "nvme.h" #include "nvmeReg.h" #include "nvmeIoctl.h" #include "nvmeStd.h" #include "nvmePwrMgmt.h" #include "nvmeSnti.h" #include "nvmeSntiUtils.h" #include "nvmeSntiTypes.h" #include "nvmeIo.h" Is there anything I have to do to setup the Visual Studio configuration to find this header file? -------------- next part -------------- An HTML attachment was scrubbed... URL: From raymond.c.robles at intel.com Fri May 11 15:39:55 2012 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Fri, 11 May 2012 22:39:55 +0000 Subject: [nvmewin] Cadence - new NVMe driver developer In-Reply-To: <2D98093777D3FD46A36253F35FE9D69346B3143F@ORSMSX101.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B3143F@ORSMSX101.amr.corp.intel.com> Message-ID: <49158E750348AA499168FD41D88983600F1B0BD0@FMSMSX105.amr.corp.intel.com> FYI... if you need to add new #defines (such as CHATHAM), I believe you need to add them to the VS project properties... it's not enough to define them in the sources file before converting. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Friday, May 11, 2012 3:35 PM To: Brenda Powers; Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Cadence - new NVMe driver developer The NVMe driver has been designed to be built without using VS, but for VS11 there is an easy way to port the build into VS11: >From the main menu in VS 11, go: File->Open->Convert Sources/Dir Find the 'sources' file from the resulting pop-up file explorer window. That is it. It makes two projects: Nvme-Package and nvme. I don't know what Nvme-package is yet, but trying to build it fails. I just turned it off and just build 'nvme'. I assume though nvme-Package has something to do with signing the driver. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Brenda Powers Sent: Friday, May 11, 2012 9:30 AM To: Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Cadence - new NVMe driver developer Thank you, I will try that. Sorry, but I developed NT drivers 15 or so yrs. ago and I am really out of date on developing Windows drivers. Brenda From: Ramakrishna, Aruna [mailto:aruna.ramakrishna at intel.com] Sent: Friday, May 11, 2012 9:29 AM To: Brenda Powers; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer Yes, but I don't think you need to do anything specific to include that. It should be integrated with the new VS 11. From: Brenda Powers [mailto:bpowers at cadence.com] Sent: Friday, May 11, 2012 9:28 AM To: Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer Thank you. Do I need to use the Windows Driver Kit? Brenda From: Ramakrishna, Aruna [mailto:aruna.ramakrishna at intel.com] Sent: Friday, May 11, 2012 9:27 AM To: Brenda Powers; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer You should create the VS project as a driver project (project type settings); that should be it. Thanks, Aruna From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Brenda Powers Sent: Friday, May 11, 2012 9:10 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Cadence - new NVMe driver developer Good Morning: I am starting to use the Windows NVMe driver and need some initial guidance. I am using Visual Studio Beta 11 as my environment. I created a new project from the NVMe code. When I build the code I receive an error: Error 1 error C1083: Cannot open include file: 'ntddk.h': No such file or directory c:\users\bpowers\desktop\feg\nvmee_windows_driver\nvmewin\nvmewin\trunk\source\precomp.h 48 1 NVMeDriver The precomp.h file has the contents: /* * File: precomp.h */ #include "ntddk.h" #include "ntddscsi.h" #include "ntdddisk.h" #include #include "nvme.h" #include "nvmeReg.h" #include "nvmeIoctl.h" #include "nvmeStd.h" #include "nvmePwrMgmt.h" #include "nvmeSnti.h" #include "nvmeSntiUtils.h" #include "nvmeSntiTypes.h" #include "nvmeIo.h" Is there anything I have to do to setup the Visual Studio configuration to find this header file? -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Fri May 11 15:41:05 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Fri, 11 May 2012 22:41:05 +0000 Subject: [nvmewin] Cadence - new NVMe driver developer In-Reply-To: <49158E750348AA499168FD41D88983600F1B0BD0@FMSMSX105.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B3143F@ORSMSX101.amr.corp.intel.com> <49158E750348AA499168FD41D88983600F1B0BD0@FMSMSX105.amr.corp.intel.com> Message-ID: <2D98093777D3FD46A36253F35FE9D69346B3146A@ORSMSX101.amr.corp.intel.com> Correct. I did that. From: Robles, Raymond C Sent: Friday, May 11, 2012 3:40 PM To: Freyensee, James P; Brenda Powers; Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer FYI... if you need to add new #defines (such as CHATHAM), I believe you need to add them to the VS project properties... it's not enough to define them in the sources file before converting. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Friday, May 11, 2012 3:35 PM To: Brenda Powers; Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Cadence - new NVMe driver developer The NVMe driver has been designed to be built without using VS, but for VS11 there is an easy way to port the build into VS11: >From the main menu in VS 11, go: File->Open->Convert Sources/Dir Find the 'sources' file from the resulting pop-up file explorer window. That is it. It makes two projects: Nvme-Package and nvme. I don't know what Nvme-package is yet, but trying to build it fails. I just turned it off and just build 'nvme'. I assume though nvme-Package has something to do with signing the driver. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Brenda Powers Sent: Friday, May 11, 2012 9:30 AM To: Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Cadence - new NVMe driver developer Thank you, I will try that. Sorry, but I developed NT drivers 15 or so yrs. ago and I am really out of date on developing Windows drivers. Brenda From: Ramakrishna, Aruna [mailto:aruna.ramakrishna at intel.com] Sent: Friday, May 11, 2012 9:29 AM To: Brenda Powers; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer Yes, but I don't think you need to do anything specific to include that. It should be integrated with the new VS 11. From: Brenda Powers [mailto:bpowers at cadence.com] Sent: Friday, May 11, 2012 9:28 AM To: Ramakrishna, Aruna; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer Thank you. Do I need to use the Windows Driver Kit? Brenda From: Ramakrishna, Aruna [mailto:aruna.ramakrishna at intel.com] Sent: Friday, May 11, 2012 9:27 AM To: Brenda Powers; nvmewin at lists.openfabrics.org Subject: RE: Cadence - new NVMe driver developer You should create the VS project as a driver project (project type settings); that should be it. Thanks, Aruna From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Brenda Powers Sent: Friday, May 11, 2012 9:10 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Cadence - new NVMe driver developer Good Morning: I am starting to use the Windows NVMe driver and need some initial guidance. I am using Visual Studio Beta 11 as my environment. I created a new project from the NVMe code. When I build the code I receive an error: Error 1 error C1083: Cannot open include file: 'ntddk.h': No such file or directory c:\users\bpowers\desktop\feg\nvmee_windows_driver\nvmewin\nvmewin\trunk\source\precomp.h 48 1 NVMeDriver The precomp.h file has the contents: /* * File: precomp.h */ #include "ntddk.h" #include "ntddscsi.h" #include "ntdddisk.h" #include #include "nvme.h" #include "nvmeReg.h" #include "nvmeIoctl.h" #include "nvmeStd.h" #include "nvmePwrMgmt.h" #include "nvmeSnti.h" #include "nvmeSntiUtils.h" #include "nvmeSntiTypes.h" #include "nvmeIo.h" Is there anything I have to do to setup the Visual Studio configuration to find this header file? -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Mon May 14 13:25:46 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Mon, 14 May 2012 20:25:46 +0000 Subject: [nvmewin] NumMsiMsgGranted and it's relation to PMSI_MESSAGE_TBL Message-ID: <2D98093777D3FD46A36253F35FE9D69346B37027@ORSMSX101.amr.corp.intel.com> Quick question: Is it a correct understanding to expect that the value of NumMsiMsgGranted will be equal to the number of entries in the MSI/MSIX message table, pointed by pMsiMsgTbl? And if NumMsiMsgGranted is 0, then A. NVMe is using the INT interrupt method and not MSI/MSIX, and B. pMsiMsgTbl would be NULL? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.e.luse at intel.com Mon May 14 15:58:20 2012 From: paul.e.luse at intel.com (Luse, Paul E) Date: Mon, 14 May 2012 22:58:20 +0000 Subject: [nvmewin] NumMsiMsgGranted and it's relation to PMSI_MESSAGE_TBL In-Reply-To: <2D98093777D3FD46A36253F35FE9D69346B37027@ORSMSX101.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B37027@ORSMSX101.amr.corp.intel.com> Message-ID: <82C9F782B054C94B9FC04A331649C77A024FEFCB@FMSMSX106.amr.corp.intel.com> If we get MSI/X vectors from the OS during our Init, NumMsiMsgGranted is the total that were allocated. There will be one MSI_MESSAGE_TBL struct per MSI which is actually is actually an array inside of the RES_MAPPING_TBL which is in the dev ext. pMsiMsgTbl will not be null if we're in INT mode, see NVMeEnumMsiMessages() and you'll see where things are init'd Thx Paul From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Monday, May 14, 2012 1:26 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] NumMsiMsgGranted and it's relation to PMSI_MESSAGE_TBL Quick question: Is it a correct understanding to expect that the value of NumMsiMsgGranted will be equal to the number of entries in the MSI/MSIX message table, pointed by pMsiMsgTbl? And if NumMsiMsgGranted is 0, then A. NVMe is using the INT interrupt method and not MSI/MSIX, and B. pMsiMsgTbl would be NULL? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Tue May 15 18:49:09 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Wed, 16 May 2012 01:49:09 +0000 Subject: [nvmewin] good spot to write to registry? Message-ID: <2D98093777D3FD46A36253F35FE9D69346B38467@ORSMSX101.amr.corp.intel.com> Is there a good spot in the NVMe driver to write to the registry via NVMeWriteRegistry() when all the initialization and internal variables are set? It seems like all initialization can end in NVMeInitialize() at the code: if (pAE->ntldrDump == FALSE) { /* Enumerate granted MSI/MSI-X messages if there is any */ if (NVMeEnumMsiMessages(pAE) == FALSE) { NVMeFreeBuffers(pAE); return (FALSE); } /* Call StorPortPassiveInitialization to enable passive init */ StorPortEnablePassiveInitialization(pAE, NVMePassiveInitialize); return (TRUE); and all the internal variables and tables are set in the driver at this point. However, if you wanted to write a value out to the registry before the return(), it will fail here in NVMeInitialize(). BUT, NVMeWriteRegistry() will succeed if called within NVMeFindAdapter(). However, not all the important, internal variables are set yet in this function. For example, pAE->ResMapTbl.NumMsiMsgGranted is not set by the system at this point, which is something I care about. NVMeWriteRegistry() is using StorPortWriteRegistry(), and it seems to be finicky when you can actually successfully use it. Unfortunately it only returns TRUE or FALSE and gives no further info what really failed and why, so I am not sure what is going on. Maybe someone might know? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From raymond.c.robles at intel.com Tue May 15 21:02:53 2012 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Wed, 16 May 2012 04:02:53 +0000 Subject: [nvmewin] good spot to write to registry? In-Reply-To: <2D98093777D3FD46A36253F35FE9D69346B38467@ORSMSX101.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B38467@ORSMSX101.amr.corp.intel.com> Message-ID: <33473176-7C21-4EAA-9A18-7AD67B85A0A1@intel.com> StorPortRegistryWrite must be called at PASSIVE IRQL. HwStorInitialize is called at DIRQL, which is why you are seeing a failure. HwStorFindAdapter is called at PASSIVE IRQL which is why we placed the registry access there. If you need to do additional registry reads/writes after HwStorFindAdapter you could put the call inside NVMePassiveInitialize since its called at PASSIVE IRQL. Thanks, Ray On May 15, 2012, at 6:49 PM, "Freyensee, James P" > wrote: Is there a good spot in the NVMe driver to write to the registry via NVMeWriteRegistry() when all the initialization and internal variables are set? It seems like all initialization can end in NVMeInitialize() at the code: if (pAE->ntldrDump == FALSE) { /* Enumerate granted MSI/MSI-X messages if there is any */ if (NVMeEnumMsiMessages(pAE) == FALSE) { NVMeFreeBuffers(pAE); return (FALSE); } /* Call StorPortPassiveInitialization to enable passive init */ StorPortEnablePassiveInitialization(pAE, NVMePassiveInitialize); return (TRUE); and all the internal variables and tables are set in the driver at this point. However, if you wanted to write a value out to the registry before the return(), it will fail here in NVMeInitialize(). BUT, NVMeWriteRegistry() will succeed if called within NVMeFindAdapter(). However, not all the important, internal variables are set yet in this function. For example, pAE->ResMapTbl.NumMsiMsgGranted is not set by the system at this point, which is something I care about. NVMeWriteRegistry() is using StorPortWriteRegistry(), and it seems to be finicky when you can actually successfully use it. Unfortunately it only returns TRUE or FALSE and gives no further info what really failed and why, so I am not sure what is going on. Maybe someone might know? Thanks! _______________________________________________ nvmewin mailing list nvmewin at lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin From tom.s.picard at intel.com Wed May 16 07:44:57 2012 From: tom.s.picard at intel.com (Picard, Tom S) Date: Wed, 16 May 2012 14:44:57 +0000 Subject: [nvmewin] good spot to write to registry? In-Reply-To: <33473176-7C21-4EAA-9A18-7AD67B85A0A1@intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B38467@ORSMSX101.amr.corp.intel.com> <33473176-7C21-4EAA-9A18-7AD67B85A0A1@intel.com> Message-ID: James, Could StorPortLogSystemEvent() accomplish what you want, better than writes to registry ? Unless you specifically want the data in registry as opposed to system log . . . Tom -----Original Message----- From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Robles, Raymond C Sent: Tuesday, May 15, 2012 9:03 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] good spot to write to registry? StorPortRegistryWrite must be called at PASSIVE IRQL. HwStorInitialize is called at DIRQL, which is why you are seeing a failure. HwStorFindAdapter is called at PASSIVE IRQL which is why we placed the registry access there. If you need to do additional registry reads/writes after HwStorFindAdapter you could put the call inside NVMePassiveInitialize since its called at PASSIVE IRQL. Thanks, Ray On May 15, 2012, at 6:49 PM, "Freyensee, James P" > wrote: Is there a good spot in the NVMe driver to write to the registry via NVMeWriteRegistry() when all the initialization and internal variables are set? It seems like all initialization can end in NVMeInitialize() at the code: if (pAE->ntldrDump == FALSE) { /* Enumerate granted MSI/MSI-X messages if there is any */ if (NVMeEnumMsiMessages(pAE) == FALSE) { NVMeFreeBuffers(pAE); return (FALSE); } /* Call StorPortPassiveInitialization to enable passive init */ StorPortEnablePassiveInitialization(pAE, NVMePassiveInitialize); return (TRUE); and all the internal variables and tables are set in the driver at this point. However, if you wanted to write a value out to the registry before the return(), it will fail here in NVMeInitialize(). BUT, NVMeWriteRegistry() will succeed if called within NVMeFindAdapter(). However, not all the important, internal variables are set yet in this function. For example, pAE->ResMapTbl.NumMsiMsgGranted is not set by the system at this point, which is something I care about. NVMeWriteRegistry() is using StorPortWriteRegistry(), and it seems to be finicky when you can actually successfully use it. Unfortunately it only returns TRUE or FALSE and gives no further info what really failed and why, so I am not sure what is going on. Maybe someone might know? Thanks! _______________________________________________ nvmewin mailing list nvmewin at lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin _______________________________________________ nvmewin mailing list nvmewin at lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin From james.p.freyensee at intel.com Wed May 16 09:10:14 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Wed, 16 May 2012 16:10:14 +0000 Subject: [nvmewin] good spot to write to registry? In-Reply-To: <33473176-7C21-4EAA-9A18-7AD67B85A0A1@intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B38467@ORSMSX101.amr.corp.intel.com> <33473176-7C21-4EAA-9A18-7AD67B85A0A1@intel.com> Message-ID: <2D98093777D3FD46A36253F35FE9D69346B38725@ORSMSX101.amr.corp.intel.com> Great insight, thanks for this!! From: Robles, Raymond C Sent: Tuesday, May 15, 2012 9:03 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] good spot to write to registry? StorPortRegistryWrite must be called at PASSIVE IRQL. HwStorInitialize is called at DIRQL, which is why you are seeing a failure. HwStorFindAdapter is called at PASSIVE IRQL which is why we placed the registry access there. If you need to do additional registry reads/writes after HwStorFindAdapter you could put the call inside NVMePassiveInitialize since its called at PASSIVE IRQL. Thanks, Ray On May 15, 2012, at 6:49 PM, "Freyensee, James P" > wrote: Is there a good spot in the NVMe driver to write to the registry via NVMeWriteRegistry() when all the initialization and internal variables are set? It seems like all initialization can end in NVMeInitialize() at the code: if (pAE->ntldrDump == FALSE) { /* Enumerate granted MSI/MSI-X messages if there is any */ if (NVMeEnumMsiMessages(pAE) == FALSE) { NVMeFreeBuffers(pAE); return (FALSE); } /* Call StorPortPassiveInitialization to enable passive init */ StorPortEnablePassiveInitialization(pAE, NVMePassiveInitialize); return (TRUE); and all the internal variables and tables are set in the driver at this point. However, if you wanted to write a value out to the registry before the return(), it will fail here in NVMeInitialize(). BUT, NVMeWriteRegistry() will succeed if called within NVMeFindAdapter(). However, not all the important, internal variables are set yet in this function. For example, pAE->ResMapTbl.NumMsiMsgGranted is not set by the system at this point, which is something I care about. NVMeWriteRegistry() is using StorPortWriteRegistry(), and it seems to be finicky when you can actually successfully use it. Unfortunately it only returns TRUE or FALSE and gives no further info what really failed and why, so I am not sure what is going on. Maybe someone might know? Thanks! _______________________________________________ nvmewin mailing list nvmewin at lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Wed May 16 09:14:23 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Wed, 16 May 2012 16:14:23 +0000 Subject: [nvmewin] good spot to write to registry? In-Reply-To: References: <2D98093777D3FD46A36253F35FE9D69346B38467@ORSMSX101.amr.corp.intel.com> <33473176-7C21-4EAA-9A18-7AD67B85A0A1@intel.com> Message-ID: <2D98093777D3FD46A36253F35FE9D69346B38743@ORSMSX101.amr.corp.intel.com> Maybe. Really what I want is the ability for me or a validation person to be able to quickly see values of interesting variables. Writing a value to the registry that won't change after initialization is one way, plus I have old C# code laying around that searches the registry that may make it possible to code up some automation into checking a couple values we care about. I am going to set a compile flag so this won't be on all the time. I would have to look into StorPortLogSystemEvent() to understand it better if this could be an easier solution of writing out a value and being able to quickly see certain values. -----Original Message----- From: Picard, Tom S Sent: Wednesday, May 16, 2012 7:45 AM To: Robles, Raymond C; Freyensee, James P; nvmewin at lists.openfabrics.org Subject: RE: [nvmewin] good spot to write to registry? James, Could StorPortLogSystemEvent() accomplish what you want, better than writes to registry ? Unless you specifically want the data in registry as opposed to system log . . . Tom -----Original Message----- From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Robles, Raymond C Sent: Tuesday, May 15, 2012 9:03 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] good spot to write to registry? StorPortRegistryWrite must be called at PASSIVE IRQL. HwStorInitialize is called at DIRQL, which is why you are seeing a failure. HwStorFindAdapter is called at PASSIVE IRQL which is why we placed the registry access there. If you need to do additional registry reads/writes after HwStorFindAdapter you could put the call inside NVMePassiveInitialize since its called at PASSIVE IRQL. Thanks, Ray On May 15, 2012, at 6:49 PM, "Freyensee, James P" > wrote: Is there a good spot in the NVMe driver to write to the registry via NVMeWriteRegistry() when all the initialization and internal variables are set? It seems like all initialization can end in NVMeInitialize() at the code: if (pAE->ntldrDump == FALSE) { /* Enumerate granted MSI/MSI-X messages if there is any */ if (NVMeEnumMsiMessages(pAE) == FALSE) { NVMeFreeBuffers(pAE); return (FALSE); } /* Call StorPortPassiveInitialization to enable passive init */ StorPortEnablePassiveInitialization(pAE, NVMePassiveInitialize); return (TRUE); and all the internal variables and tables are set in the driver at this point. However, if you wanted to write a value out to the registry before the return(), it will fail here in NVMeInitialize(). BUT, NVMeWriteRegistry() will succeed if called within NVMeFindAdapter(). However, not all the important, internal variables are set yet in this function. For example, pAE->ResMapTbl.NumMsiMsgGranted is not set by the system at this point, which is something I care about. NVMeWriteRegistry() is using StorPortWriteRegistry(), and it seems to be finicky when you can actually successfully use it. Unfortunately it only returns TRUE or FALSE and gives no further info what really failed and why, so I am not sure what is going on. Maybe someone might know? Thanks! _______________________________________________ nvmewin mailing list nvmewin at lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin _______________________________________________ nvmewin mailing list nvmewin at lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin From james.p.freyensee at intel.com Fri May 18 10:32:50 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Fri, 18 May 2012 17:32:50 +0000 Subject: [nvmewin] Comments swapped around?? Message-ID: <2D98093777D3FD46A36253F35FE9D69346B410A2@ORSMSX101.amr.corp.intel.com> In nvme.h currently in Trunk/: typedef struct _MSI_MESSAGE_TBL { /* The MSI message number granted from the system */ ULONG MsgID; /* Physical address associated with the message */ ULONG Data; /* Data associated with the message */ STOR_PHYSICAL_ADDRESS Addr; Are the comments in red swapped around? When I see a variable 'Data' being used, I think of actual data values, which the second comment in red seems more appropriate for ULONG Data. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.e.luse at intel.com Fri May 18 11:35:50 2012 From: paul.e.luse at intel.com (Luse, Paul E) Date: Fri, 18 May 2012 18:35:50 +0000 Subject: [nvmewin] Comments swapped around?? In-Reply-To: <2D98093777D3FD46A36253F35FE9D69346B410A2@ORSMSX101.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B410A2@ORSMSX101.amr.corp.intel.com> Message-ID: <82C9F782B054C94B9FC04A331649C77A025156FB@FMSMSX106.amr.corp.intel.com> Looks like it J I think this is minor enough we can treat this email as a patch request (as opposed to sending the actual fixed code out) and waiting for comments and questions so we just need an approval from Intel, LSI, and ADT at a minimum and then Ray can merge at his leisure after that. I'll OK from the Intel side From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Friday, May 18, 2012 10:33 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Comments swapped around?? In nvme.h currently in Trunk/: typedef struct _MSI_MESSAGE_TBL { /* The MSI message number granted from the system */ ULONG MsgID; /* Physical address associated with the message */ ULONG Data; /* Data associated with the message */ STOR_PHYSICAL_ADDRESS Addr; Are the comments in red swapped around? When I see a variable 'Data' being used, I think of actual data values, which the second comment in red seems more appropriate for ULONG Data. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alex.Chang at idt.com Fri May 18 12:17:49 2012 From: Alex.Chang at idt.com (Chang, Alex) Date: Fri, 18 May 2012 19:17:49 +0000 Subject: [nvmewin] Comments swapped around?? In-Reply-To: <82C9F782B054C94B9FC04A331649C77A025156FB@FMSMSX106.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B410A2@ORSMSX101.amr.corp.intel.com> <82C9F782B054C94B9FC04A331649C77A025156FB@FMSMSX106.amr.corp.intel.com> Message-ID: <548C5470AAD9DA4A85D259B663190D36010E36@corpmail1.na.ads.idt.com> IDT is fine with the minor change. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Friday, May 18, 2012 11:36 AM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Comments swapped around?? Looks like it J I think this is minor enough we can treat this email as a patch request (as opposed to sending the actual fixed code out) and waiting for comments and questions so we just need an approval from Intel, LSI, and ADT at a minimum and then Ray can merge at his leisure after that. I'll OK from the Intel side From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Friday, May 18, 2012 10:33 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Comments swapped around?? In nvme.h currently in Trunk/: typedef struct _MSI_MESSAGE_TBL { /* The MSI message number granted from the system */ ULONG MsgID; /* Physical address associated with the message */ ULONG Data; /* Data associated with the message */ STOR_PHYSICAL_ADDRESS Addr; Are the comments in red swapped around? When I see a variable 'Data' being used, I think of actual data values, which the second comment in red seems more appropriate for ULONG Data. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From Arpit.Patel at lsi.com Fri May 18 12:19:48 2012 From: Arpit.Patel at lsi.com (Patel, Arpit) Date: Fri, 18 May 2012 13:19:48 -0600 Subject: [nvmewin] Comments swapped around?? In-Reply-To: <548C5470AAD9DA4A85D259B663190D36010E36@corpmail1.na.ads.idt.com> References: <2D98093777D3FD46A36253F35FE9D69346B410A2@ORSMSX101.amr.corp.intel.com> <82C9F782B054C94B9FC04A331649C77A025156FB@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D36010E36@corpmail1.na.ads.idt.com> Message-ID: <217BF3CF80E93540B3049F95A676F09D0158C6DADA@cosmail01.lsi.com> LSI also agrees. Thanks. Arpit. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, May 18, 2012 12:18 PM To: Luse, Paul E; Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Comments swapped around?? IDT is fine with the minor change. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Friday, May 18, 2012 11:36 AM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Comments swapped around?? Looks like it :) I think this is minor enough we can treat this email as a patch request (as opposed to sending the actual fixed code out) and waiting for comments and questions so we just need an approval from Intel, LSI, and ADT at a minimum and then Ray can merge at his leisure after that. I'll OK from the Intel side From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Friday, May 18, 2012 10:33 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Comments swapped around?? In nvme.h currently in Trunk/: typedef struct _MSI_MESSAGE_TBL { /* The MSI message number granted from the system */ ULONG MsgID; /* Physical address associated with the message */ ULONG Data; /* Data associated with the message */ STOR_PHYSICAL_ADDRESS Addr; Are the comments in red swapped around? When I see a variable 'Data' being used, I think of actual data values, which the second comment in red seems more appropriate for ULONG Data. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From raymond.c.robles at intel.com Mon May 21 15:38:44 2012 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Mon, 21 May 2012 22:38:44 +0000 Subject: [nvmewin] Comments swapped around?? In-Reply-To: <217BF3CF80E93540B3049F95A676F09D0158C6DADA@cosmail01.lsi.com> References: <2D98093777D3FD46A36253F35FE9D69346B410A2@ORSMSX101.amr.corp.intel.com> <82C9F782B054C94B9FC04A331649C77A025156FB@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D36010E36@corpmail1.na.ads.idt.com> <217BF3CF80E93540B3049F95A676F09D0158C6DADA@cosmail01.lsi.com> Message-ID: <49158E750348AA499168FD41D88983600F1B4D22@FMSMSX105.amr.corp.intel.com> James, Can you please put together a patch to fix this comment issue. You can just send out an email to the distribution list with the source files zipped for code review. Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Patel, Arpit Sent: Friday, May 18, 2012 12:20 PM To: Chang, Alex; Luse, Paul E; Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Comments swapped around?? LSI also agrees. Thanks. Arpit. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, May 18, 2012 12:18 PM To: Luse, Paul E; Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Comments swapped around?? IDT is fine with the minor change. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Friday, May 18, 2012 11:36 AM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Comments swapped around?? Looks like it :) I think this is minor enough we can treat this email as a patch request (as opposed to sending the actual fixed code out) and waiting for comments and questions so we just need an approval from Intel, LSI, and ADT at a minimum and then Ray can merge at his leisure after that. I'll OK from the Intel side From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Friday, May 18, 2012 10:33 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Comments swapped around?? In nvme.h currently in Trunk/: typedef struct _MSI_MESSAGE_TBL { /* The MSI message number granted from the system */ ULONG MsgID; /* Physical address associated with the message */ ULONG Data; /* Data associated with the message */ STOR_PHYSICAL_ADDRESS Addr; Are the comments in red swapped around? When I see a variable 'Data' being used, I think of actual data values, which the second comment in red seems more appropriate for ULONG Data. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.p.freyensee at intel.com Mon May 21 17:28:05 2012 From: james.p.freyensee at intel.com (Freyensee, James P) Date: Tue, 22 May 2012 00:28:05 +0000 Subject: [nvmewin] Comments swapped around?? In-Reply-To: <49158E750348AA499168FD41D88983600F1B4D22@FMSMSX105.amr.corp.intel.com> References: <2D98093777D3FD46A36253F35FE9D69346B410A2@ORSMSX101.amr.corp.intel.com> <82C9F782B054C94B9FC04A331649C77A025156FB@FMSMSX106.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D36010E36@corpmail1.na.ads.idt.com> <217BF3CF80E93540B3049F95A676F09D0158C6DADA@cosmail01.lsi.com> <49158E750348AA499168FD41D88983600F1B4D22@FMSMSX105.amr.corp.intel.com> Message-ID: <2D98093777D3FD46A36253F35FE9D69346B45C41@ORSMSX101.amr.corp.intel.com> Attached. Only nvmeStd.h changed. Jay From: Robles, Raymond C Sent: Monday, May 21, 2012 3:39 PM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: RE: Comments swapped around?? James, Can you please put together a patch to fix this comment issue. You can just send out an email to the distribution list with the source files zipped for code review. Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Patel, Arpit Sent: Friday, May 18, 2012 12:20 PM To: Chang, Alex; Luse, Paul E; Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Comments swapped around?? LSI also agrees. Thanks. Arpit. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, May 18, 2012 12:18 PM To: Luse, Paul E; Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Comments swapped around?? IDT is fine with the minor change. Thanks, Alex ________________________________ From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E Sent: Friday, May 18, 2012 11:36 AM To: Freyensee, James P; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] Comments swapped around?? Looks like it :) I think this is minor enough we can treat this email as a patch request (as opposed to sending the actual fixed code out) and waiting for comments and questions so we just need an approval from Intel, LSI, and ADT at a minimum and then Ray can merge at his leisure after that. I'll OK from the Intel side From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Freyensee, James P Sent: Friday, May 18, 2012 10:33 AM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] Comments swapped around?? In nvme.h currently in Trunk/: typedef struct _MSI_MESSAGE_TBL { /* The MSI message number granted from the system */ ULONG MsgID; /* Physical address associated with the message */ ULONG Data; /* Data associated with the message */ STOR_PHYSICAL_ADDRESS Addr; Are the comments in red swapped around? When I see a variable 'Data' being used, I think of actual data values, which the second comment in red seems more appropriate for ULONG Data. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: nvme_oo_reviews.zip Type: application/x-zip-compressed Size: 394585 bytes Desc: nvme_oo_reviews.zip URL: From kens at openfabrics.org Thu May 24 12:10:23 2012 From: kens at openfabrics.org (Ken Strandberg) Date: Thu, 24 May 2012 12:10:23 -0700 Subject: [nvmewin] Migration of servers this weekend Message-ID: Unless there is significant objection, I will be doing final migrations this weekend of all OFA accounts and services to the new server. All internet addresses will remain the same, except logins to sofa.openfabrics.org should go to beany.openfabrics.org 69.55.231.73 after this weekend. The DNS records will be updated after business hours (Pacific Time in the U.S.) tomorrow, May 25th, and I will finalize all the changes over the weekend. I will be rsyncing all home directories after the DNS updates, along with SVN repositories for OFW and NVMewin. Please do not make commits, file changes, bug submissions, or update any accounts after 5 PM Pacific Time tomorrow, Friday, May 25th on sofa.openfabrics.org until further notice, or they may not make it to the new server. Current cron jobs running on sofa.openfabrics.org will not be changed or stopped. If you have cron jobs that need to run on the new server, I'll let you know when you can check them or set them up. This should be no later than Monday morning, assuming the migration goes well. I apologize if you are on multiple lists and receiving multiple emails. There is only one email going to multiple lists. Thanks. -- *Ken Strandberg* *Webmanager/SysAdmin* *OpenFabrics Alliance* kens at openfabrics.org www.openfabrics.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From kens at openfabrics.org Mon May 28 11:29:21 2012 From: kens at openfabrics.org (Ken Strandberg) Date: Mon, 28 May 2012 11:29:21 -0700 Subject: [nvmewin] server migration Message-ID: I completed the server migration this morning. Here are items to note. Please send me email if you find any anomalies or abnormalities. To all: lists.openfabrics.org, www.openfabrics.org should function as before. There is a new direct subdomain to the downloads: downloads.openfabrics.org Please check the following: Send yourself email through your openfabrics account, if you're forwarding mail from openfabrics.org to another account. If you use an openfabrics.orgemail account directly, please check you can get your email. If you want to use an openfabrics.org email account, you now can access it with your imap client using your login and password for your existing account and lists.openfabrics.org as the server. Developers: The new server is beany.openfabrics.org. Your username and passwd should be the same as on sofa. I rsync'd all /home dirs to the new server on Saturday (5/27). Please verify your files on beany are up to date. If not, please update your files. Sofa will remain online for about another month. The week before I de-commission sofa, I'll notify all users. And again the day before. Please make sure all your files are moved to beany. If you had cron jobs you ran, you should check that they're set up and running as intended. I did not set up or get into any of your /home files. I only copied them. git.openfabrics.org should function as before. SVN users: The svn repos should be operating as before. I dumped and loaded all databases as of Sunday morning (5/28). This is now the active repository. If you use svn:// protocol with your client, you need to change your address to the following svn://beany.openfabrics.org/ofw (for windows) svn://beany.openfabrics.org/nvmewin (for NVMe) If you use http:// protocol, the address is still http://www.openfabrics.org/svnrepo/nvmewin (or ofw) Again, please do not use sofa.openfabrics.org/svnrepo/xxx for your repositories. Your trees will be out of date if you do. General: Why all this work to migrate to a new server? The sofa /home and /var directories were getting full. There was only about 3% left in /home. The new server gives us more disk space (a full TB instead of 700GB). Offsite storage for files. I was concerned about disaster recovery in the event of a meltdown at the hosting facility. Other than that, the hardware is about the same. We're saving about $120/month for more space. Again, please send me email if you see anything abnormal. Thanks. -- *Ken Strandberg* *Webmanager/SysAdmin* *OpenFabrics Alliance* kens at openfabrics.org www.openfabrics.org -------------- next part -------------- An HTML attachment was scrubbed... URL: