[nvmewin] status of learning mode patch
Luse, Paul E
paul.e.luse at intel.com
Wed Mar 21 16:59:38 PDT 2012
For sure, I haven't forgotten - just got diverted this week with some unrelated activities. Should be able to get back on this tomorrow though so will look for a time early next week.
From: Kong, Kwok [mailto:Kwok.Kong at idt.com]
Sent: Tuesday, March 20, 2012 9:45 AM
To: Luse, Paul E; nvmewin at lists.openfabrics.org
Subject: RE: status of learning mode patch
Please set up a meeting to walk through the code change.
From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Luse, Paul E
Sent: Monday, March 19, 2012 10:57 AM
To: nvmewin at lists.openfabrics.org
Subject: [nvmewin] status of learning mode patch
I finished the code this weekend and will probably not have time to test until tomorrow or Wed, here's basically what I did:
I handle all learning (including q delete/recreate) as part of the init state machine by adding 2 new states at the end, one submits a flush through each queue (FLUSH is a mandatory command so I hope no IHV has an issue with it). The last state then destroys and recreates the queues using the knowledge learned. New cover over the last patch is fairly minimal - some new flags to control things and a change to the IO path to accommodate synchronous (but still INT driven) IO for the Q deletions to avoid more mini-states inside of a larger state (plus the shutdown routine needed this as well).
I'll measure the impact (extra time before we're ready) and doubt it will be an issue but if it is I think the backup would be to keep things as they are however I'll create one temp Q for early IOs and return from passive init at the point in the init state machine when that queue is ready and then, once the full machine has done, the IO path will auto-switch over to the new queues via simple flag.
I'll probably just schedule a meeting to walk through it to at least get Alex/Kwok's feedback on the phone but everyone, of course, is welcome and encouraged to attend.
Sr. Staff Engineer
PCG Server Software Engineering
Desk: 480.554.3688, Mobile: 480.334.4630
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the nvmewin