[nvmewin] Turning on Storportdebugprint()

Robles, Raymond C raymond.c.robles at intel.com
Thu May 3 16:24:31 PDT 2012


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<mailto: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> [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<mailto: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: <http://lists.openfabrics.org/pipermail/nvmewin/attachments/20120503/9ebc69b0/attachment.html>


More information about the nvmewin mailing list