<HTML xmlns:o><HEAD><TITLE>Samsung Enterprise Portal mySingle</TITLE>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<STYLE id=mysingle_style type=text/css>P {
        MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN-TOP: 5px
}
TD {
        MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN-TOP: 5px
}
LI {
        MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN-TOP: 5px
}
BODY {
        FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN: 10px; LINE-HEIGHT: 1.4
}
</STYLE>

<META content=IE=5 http-equiv=X-UA-Compatible>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META name=GENERATOR content="MSHTML 11.00.9600.18212"></HEAD>
<BODY>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META name=GENERATOR content=ActiveSquare>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META name=GENERATOR content=ActiveSquare>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META name=GENERATOR content=ActiveSquare>
<META content=IE=5 http-equiv=X-UA-Compatible>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif">Hi all,</SPAN></SPAN></SPAN></P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"></SPAN></SPAN></SPAN> </P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"></SPAN></SPAN><SPAN class=Apple-style-span style="FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">This patch includes changes for <SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri">optimizing the disk initialization performance and relevant changes.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif">I have made a detailed overview of the changes in the attached doc file(the contents are also copied here below) and the attached zip file contains the source code.</SPAN></SPAN></SPAN></P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"></SPAN></SPAN></SPAN> </P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"><o:p>Password is samsungnvme</o:p></SPAN></SPAN></SPAN></P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"><o:p><o:p></o:p></o:p></SPAN></SPAN></SPAN> </P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"><o:p><o:p>Please let me know if you have any questions.<o:p></o:p></P></o:p></o:p></SPAN></SPAN></SPAN>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"></SPAN></SPAN></SPAN> </P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif">
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri">Thanks,</SPAN></P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri">Suman</SPAN></P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"></SPAN></SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 16px"></SPAN></SPAN></SPAN></SPAN></SPAN> </P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 16px"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif">******************</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P>
<P><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 16px"><SPAN class=Apple-style-span style="FONT-SIZE: medium; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-VARIANT: normal; WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 15px; FONT-FAMILY: Calibri, sans-serif"></SPAN></SPAN> </P></SPAN></SPAN></SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri">
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><B><U><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Disk Initialization Performance Optimization:</SPAN></U></B><U><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial; mso-bidi-font-weight: bold'><o:p></o:p></SPAN></U></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'><BR>We can use the StorPortInitializePerfOpts(), PERF_CONFIGURATION_DATA.MessageTargets which provides the array of MSI numbers corresponding to each logical processor. This is an alternative of using the Learning cores logic implemented in the OFA driver.<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'><o:p> </o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Also this will directly reduce the time taken for the disk to be enumerated after a device hot insert.</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>The current OFA driver does the following in its initialization path, let’s say on a server which has 32 logical processors and device which supports 32 queues –<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level1 lfo3'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">1.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>       </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Identify controller<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level1 lfo3'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">2.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>       </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Identify namespace - for N number of namespaces<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level1 lfo3'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">3.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>       </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Set features - Interrupt coalescing, number of queues, lba range type.<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level1 lfo3'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">4.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>       </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Create IO completion queue - 32 commands<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level1 lfo3'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">5.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>       </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Create IO submission queue - 32 commands<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level1 lfo3'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">6.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>       </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>LearnMapping - 32 Read commands<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level1 lfo3'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">7.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>       </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>ReSetupQueues - 32 Delete Sub queues + 32 Delete completion queues<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level1 lfo3'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">8.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>       </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Create IO completion queue - 32 commands<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level1 lfo3'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">9.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>       </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Create IO submission queue - 32 commands<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level1 lfo3'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">10.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>   </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Complete initialization state machine<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p> </o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>As can be observed, during disk initialization, around 224 commands are processed for setting up the IO queues and associate the MSI-x number to each queues. If we use StorPortInitializePerfOpts(), we required only 64 commands instead of 224 commands. On a server which as 120 logical processors, 840 commands are required for setting up the IO queues and associate the MSI-x number to each queues. If learning cores is avoided, only 240 commands are required instead of 840 commands.<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p> </o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Also we can fall back to learning cores if the API StorPortInitiailzePerfOpts() fails.<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p> </o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>We see improved device up time after this change. Also, if the number of queues supported by the device is less than the number of logical processors, the driver does not execute the learning cores, hence there won’t be any improvement even if we use StorPortInitializePerfOpts().</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 7.5pt; LINE-HEIGHT: normal'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'> <o:p></o:p></SPAN></P>
<P>
<TABLE class=MsoNormalTable style="WIDTH: 371pt; BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" cellSpacing=0 cellPadding=0 width=495 border=0>
<TBODY>
<TR style="HEIGHT: 16.6pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes">
<TD style="BORDER-TOP: black 1pt solid; HEIGHT: 16.6pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 370.5pt; BACKGROUND: rgb(255,204,153); BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: black 1pt solid; PADDING-RIGHT: 0in; border-image: none; mso-border-alt: solid black .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom width=494 colSpan=4>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: center; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=center><SPAN style='COLOR: rgb(63,63,118); mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Server with 32 logical processors:<o:p></o:p></SPAN></P></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 1">
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 15pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 62.25pt; BACKGROUND: rgb(165,165,165); BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: black 1pt solid; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid black .5pt; mso-border-bottom-alt: solid black .5pt" rowSpan=3 width=83>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: center; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=center><B><SPAN style='COLOR: white; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>OFA version<o:p></o:p></SPAN></B></P></TD>
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 15pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 306.75pt; BACKGROUND: rgb(165,165,165); BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid black .5pt; mso-border-top-alt: solid black .5pt" width=409 colSpan=3>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: center; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=center><B><SPAN style='COLOR: white; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>disk up time in seconds<o:p></o:p></SPAN></B></P></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 2">
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 15pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 205.5pt; BACKGROUND: rgb(165,165,165); BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid black .5pt; mso-border-top-alt: solid black .5pt" width=274 colSpan=2>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: center; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=center><B><SPAN style='COLOR: white; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Disk capacity = 400 GB<o:p></o:p></SPAN></B></P></TD>
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 15pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 100.5pt; BACKGROUND: rgb(165,165,165); BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid black .5pt; mso-border-bottom-alt: solid black .5pt" rowSpan=2 width=134>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: center; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=center><B><SPAN style='COLOR: white; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Disk capacity = 1.6 TB<o:p></o:p></SPAN></B></P></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 3">
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 15pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 111.75pt; BACKGROUND: rgb(165,165,165); BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid black .5pt" width=149>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><B><SPAN style='COLOR: white; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Disk from vendor 1<o:p></o:p></SPAN></B></P></TD>
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 15pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 93pt; BACKGROUND: rgb(165,165,165); BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid black .5pt" width=124>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><B><SPAN style='COLOR: white; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Disk from vendor 2<o:p></o:p></SPAN></B></P></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 4">
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 15pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 62.25pt; BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: black 1pt solid; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid black .5pt; mso-border-bottom-alt: solid black .5pt" vAlign=bottom width=83>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='COLOR: black; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Rev 133<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 15pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 111.75pt; BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid black .5pt" vAlign=bottom width=149>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: right; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=right><SPAN style='COLOR: black; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>14<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 15pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 93pt; BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid black .5pt" vAlign=bottom width=124>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: right; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=right><SPAN style='COLOR: black; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>6.5<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 15pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 100.5pt; BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid black .5pt" vAlign=bottom width=134>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: right; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=right><SPAN style='COLOR: black; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>14.5<o:p></o:p></SPAN></P></TD></TR>
<TR style="HEIGHT: 8.05pt; mso-yfti-irow: 5; mso-yfti-lastrow: yes">
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 8.05pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 62.25pt; BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: black 1pt solid; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid black .5pt; mso-border-bottom-alt: solid black .5pt" vAlign=bottom width=83>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='COLOR: black; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Latest<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 8.05pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 111.75pt; BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid black .5pt" vAlign=bottom width=149>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: right; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=right><SPAN style='COLOR: black; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>5<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 8.05pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 93pt; BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid black .5pt" vAlign=bottom width=124>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: right; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=right><SPAN style='COLOR: black; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>5<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-TOP: windowtext 0px; HEIGHT: 8.05pt; BORDER-RIGHT: windowtext 1pt solid; WIDTH: 100.5pt; BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-TOP: 0in; PADDING-LEFT: 0in; BORDER-LEFT: windowtext 0px; PADDING-RIGHT: 0in; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid black .5pt" vAlign=bottom width=134>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; TEXT-ALIGN: right; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal' align=right><SPAN style='COLOR: black; mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>13.5<o:p></o:p></SPAN></P></TD></TR></TBODY></TABLE></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><B><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>PS</SPAN></B><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>: data may change for different vendor SSDs</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'> <o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><B><U><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Code changes:</SPAN></U></B><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level1 lfo1'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">1.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Changes w.r.t StorPortInitializePerfOpts().</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 1in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level2 lfo1'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">a.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>In NVMeInitialize(), moved the StorPortInitializePerfOpts() after NVMeEnumMsiMessages() to set the LastRedirectionMessageNumber in StorPortInitializePerfOpts().</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 1in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level2 lfo1'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">b.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Set the flags STOR_PERF_INTERRUPT_MESSAGE_RANGES and STOR_PERF_ADV_CONFIG_LOCALITY, and values FirstRedirectionMessageNumber, LastRedirectionMessageNumber and MessageTargets in StorPortInitializePerfOpts() to get the MSIx-Core mapping in MessageTargets. If this API returns success, the learning cores can be skipped.</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 1in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level2 lfo1'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">c.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>If the StorPortInitializePerfOpts() fails, in NVMeMsiMapCores(), the mapping of msix to cores in assigned sequentially, and learning cores is executed. During learning cores, in IoCompletionRoutine(), the msix to core is re-mapped. If the StorPortInitializePerfOpts() succeeds, in NVMeMsiMapCores(), the mapping of msix to cores is taken from MessageTargets and learnig cores is skipped.</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 1in; LINE-HEIGHT: normal; mso-add-space: auto'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p> </o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level1 lfo1'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">2.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>When the learning cores is skipped, the controller initialization completes faster. But we have observed that in some devices, the Namespace is not ready to process I/O at this point. And when kernel send I/O, the device returns SC = NAMESPACE_NOT_READY and miniport returns SCSI_SENSEQ_BECOMING_READY, for which storport retries after some time. If the device takes too long to initialize the namespace, the storport gives up and shows as Uninitialized in the disk mgmt.<BR>Hence the controller initialization has to be completed after Namespace is ready. For this, a new state is introduce in the NVMeRunning(), which waits till the NS is ready. </SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 1in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level2 lfo1'><SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">a.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>       </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Introduced a new state NVMeWaitOnNamespaceReady in NVMeRunning().<o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 1in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level2 lfo1'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">b.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>In IoCompletionRoutine(), determine which CQ to look in based on WaitOnNamespaceReady state.</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 1in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level2 lfo1'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">c.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>In NVMeInitCallback(), implemented call back for NVMeWaitOnNamespaceReady.</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 1in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level2 lfo1'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">d.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>In IoCompletionRoutine(), free the read buffer for namespaceready.</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal'><B><U><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Note</SPAN></U></B><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>: </SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.75in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l2 level1 lfo2'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">a.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>We have observed that higher capacity Namespaces take too long to initialize, hence the passiveTimeout value in NVMePassiveInitialize() is not sufficient. We need to increase the timeout value based on vendor requirements. </SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.75in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l2 level1 lfo2'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">b.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>b. Checking for Namespace ready is skipped during dump/hibernation mode and resume from hibernation.</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in; LINE-HEIGHT: normal'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'> <o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level1 lfo1'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">3.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>Usually, the number of MSIx supported by device and MSIx granted(StorPortGetMSIInfo) will be number of IO Queue + 1 Admin Queue. But, we share the Admin queue and first I/O queue in core 0, and hence MSIx 0 is shared between admin queue and first I/O queue. Incase of active cores more than Queues supported, one of the MSGID should not be considered. Made changes in In NVMeEnumMsiMessages() accordingly.<BR>For example, cores = 32, Admin + IO queues = 1 + 8, then MsgID(in NVMeEnumMsiMessages()) should be 8.</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; mso-add-space: auto'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p> </o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 3.75pt 0.5in; LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l1 level1 lfo1'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: Arial'><SPAN style="mso-list: Ignore">4.<SPAN style='FONT: 7pt "Times New Roman"; font-size-adjust: none; font-stretch: normal'>     </SPAN></SPAN></SPAN><SPAN style='mso-ascii-font-family: Calibri; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri; mso-bidi-font-family: Arial'>In IoCompletionRoutine(), for learning cores, only if MSIGranted is less than active cores, the QueueNo will be remapped in sequential manner. Otherwise QueueNo remains same as before.</SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'><o:p></o:p></SPAN></P>
<P style='FONT-SIZE: 11pt; TEXT-DECORATION: ; FONT-FAMILY: "Calibri","sans-serif"; MARGIN: 3.75pt 0in 7.5pt; LINE-HEIGHT: normal'><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Arial","sans-serif"; mso-fareast-font-family: "Times New Roman"'> <o:p></o:p></SPAN></P></SPAN></BODY></HTML><img src='http://ext.samsung.net/mailcheck/SeenTimeChecker?do=ffcf397c39a8fbf282cc457579413d8ac3ad024398f8c8597d9badbdf7e30042d1afaaba7860cdcd9564217c646641ad61e16949eaa607501b20909a04efd4d2748cfe1d4e847419cf878f9a26ce15a0' border=0 width=0 height=0 style='display:none'>