[nvmewin] Q Pointer Reset After Learning Mode

Chang, Alex Alex.Chang at idt.com
Tue Apr 24 09:55:36 PDT 2012


Hi Paul,

I am afraid that I have couple more issues to report:
1. When the driver finishes core-vector map learning, it deletes all IO queues and re-creates them. However, the driver doesn't reset Submission Tail Pointer and Completion Head Pointer to 0, which causes an extra completion entry for each IO queue and other side effects.
2. In NVMeCompleteCmd, the driver asserts to check Pending bit and Context pointer of CMD_ENTRY (for Checked-built driver only). Free-built driver ignores the checking and insert the CMD_ENTRY back to freeQList, which corrupts the linked-list when the completion queue entry is not a valid one and gets added back to the freeQList TWICE. For example, an extra completion entry produced by issue#1 above.
I remember the original logic I put in was returning FALSE when it fails checking Pending bit and Context pointer and not touching the linked-list in the end of the routine.

Thanks,
Alex


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


More information about the nvmewin mailing list