<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:ns0 =
"urn:schemas-microsoft-com:office:smarttags" xmlns:st1 =
"urn:schemas-microsoft-com:office:smarttags" xmlns:w =
"urn:schemas-microsoft-com:office:word" xmlns:o =
"urn:schemas-microsoft-com:office:office" xmlns:v =
"urn:schemas-microsoft-com:vml"><HEAD><!--[if !mso]>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<STYLE>v\:* {
BEHAVIOR: url(#default#VML)
}
o\:* {
BEHAVIOR: url(#default#VML)
}
w\:* {
BEHAVIOR: url(#default#VML)
}
.shape {
BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]--><!--[if !mso]>
<STYLE>st1\:* {
BEHAVIOR: url(#default#ieooui)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
font-family: Tahoma;
}
@page Section1 {size: 612.0pt 792.0pt; margin: 72.0pt 90.0pt 72.0pt 90.0pt; }
P.MsoNormal {
FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
COLOR: windowtext; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle18 {
COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
page: Section1
}
</STYLE>
<META content="MSHTML 6.00.6000.16587" name=GENERATOR></HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=628051213-12052008>Hi
Slava,</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=628051213-12052008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=628051213-12052008>In the
last couple of days I have checked your patch to add partitioning support to
WinIB.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=628051213-12052008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=628051213-12052008>As for
the bad side, I have found the following problems:</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=628051213-12052008>1) It
is only possibale to add a partition to the first port. What happens if one
wants to add partitions to the second port? what happens if there are more than
one card?</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=628051213-12052008>2)
After partitions are added, it is very hard to tell which interface is mapped to
which pkey. This makes configuration very hard.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=628051213-12052008>3) The
number of times that one is asked to do a reboot of the system in order for his
changes to take affect is very big.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=628051213-12052008><FONT
color=#0000ff>4) There was a memory leak in the function <SPAN
class=731333409-11052008>__ib_mgr_init (in the case of error) (already
fixed).</SPAN></FONT></SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=628051213-12052008><SPAN
class=731333409-11052008>5) In the case of remove there is no ioctl, to the
bus to do a re-scan. Is this be design? What will happen in the case of add (1)
,than remove (1) and later add (2) ?</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=628051213-12052008><FONT
color=#0000ff><SPAN class=731333409-11052008>6) When removing pkeys I have
received the following assert:</SPAN></FONT></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=628051213-12052008><SPAN
class=731333409-11052008><SPAN class=731333409-11052008>fffff800`0111c692 :
fffff800`0111c770 fffffadf`29c6a070 fffffadf`29c6a040 00000000`00000002 :
nt!DbgBreakPoint<BR>fffffadf`27fd6366 : fffffadf`37d97930 fffffadf`29c6aa70
fffffadf`379fb060 00000000`00000000 : nt!RtlAssert+0xf3<BR>fffffadf`27f47095 :
fffffadf`37da5010 fffffadf`29c6aa70 fffffadf`379fb060 00000000`00000000 :
ibbus!deref_al_obj+0x116 [q:\projinf3\trunk\core\al\al_common.c @
399]<BR>fffffadf`27f4df82 : fffffadf`37f56760 fffffadf`27f4d700
fffffadf`29c6a640 fffffadf`27f4d6c0 : ibbus!free_port_mgr+0x3f5
[q:\projinf3\trunk\core\bus\kernel\bus_port_mgr.c @ 404]<BR>fffffadf`27f4dd16 :
fffffadf`37f56798 fffffadf`00989680 fffffadf`00000000 fffffadf`2d424bb0 :
ibbus!__destroy_cb+0x142 [q:\projinf3\trunk\core\complib\cl_obj.c @
779]<BR>fffffadf`27f4d596 : fffffadf`37f56760 fffff800`00000003
fffffadf`379fb338 fffffadf`29c6aa70 : ibbus!__destroy_obj+0x146
[q:\projinf3\trunk\core\complib\cl_obj.c @ 709]<BR>fffffadf`28044770 :
fffffadf`37f56760 fffff800`0131f84a fffffadf`37d97930 00000000`00000000 :
ibbus!cl_obj_destroy+0x66 [q:\projinf3\trunk\core\complib\cl_obj.c @
313]<BR>fffffadf`27f4e0c9 : fffffadf`379fb060 00000000`00000000
00000000`000000d3 fffffadf`37d97930 : ibbus!fdo_release_resources+0x180
[q:\projinf3\trunk\core\bus\kernel\bus_pnp.c @ 384]<BR>fffffadf`28058113 :
fffffadf`379fb060 fffffadf`37d97930 fffffadf`29c6a818 00000000`ffffffff :
ibbus!cl_do_remove+0x129 [q:\projinf3\trunk\core\complib\kernel\cl_pnp_po.c @
693]<BR>fffffadf`280543cf : fffffadf`379fb060 fffffadf`37d97930
fffffadf`29c6a818 00000000`00000000 : ibbus!__remove+0x153
[q:\projinf3\trunk\core\complib\kernel\cl_pnp_po.c @ 661]<BR>fffff800`0133ed04 :
fffffadf`379fb060 fffffadf`37d97930 fffffadf`379fb060 00000000`00000000 :
ibbus!cl_pnp+0x121f [q:\projinf3\trunk\core\complib\kernel\cl_pnp_po.c @
260]<BR>fffff800`010d1cae : fffffadf`379fb000 fffffa80`00b316b0
fffffadf`382dde40 fffffadf`382dde40 :
nt!IopSynchronousCall+0x144<BR>fffff800`01340f05 : 00000e48`5532134d
00000000`00000000 fffffa80`01f41320 00000000`80000000 :
nt!IopRemoveLockedDeviceNode+0xafd<BR>fffff800`0134666b : fffffadf`28ad0ae8
00000000`00000000 fffffa80`021e59c0 fffffa80`002f0844 :
nt!IopDeleteLockedDeviceNodes+0x135<BR>fffff800`01344755 : 00000000`00000000
fffffadf`388303a0 00000000`00000001 fffffa80`01b495e0 :
nt!PiProcessQueryRemoveAndEject+0x1471<BR>fffff800`0103768a : fffffadf`38003ed0
fffff800`01344500 fffffadf`38807bf0 fffff800`011ce9d8 :
nt!PiWalkDeviceList+0x255<BR>fffff800`0124b972 : fffffadf`38807bf0
00000000`00000080 fffffadf`38807bf0 fffffadf`29873680 :
nt!ExpWorkerThread+0x13b<BR>fffff800`010202d6 : fffffadf`2986b180
fffffadf`38807bf0 fffffadf`29873680 fffff800`011b5dc0 :
nt!PspSystemThreadStartup+0x3e<BR>00000000`00000000 : 00000000`00000000
00000000`00000000 00000000`00000000 00000000`00000000 :
nt!KxStartSystemThread+0x16</SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=628051213-12052008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=628051213-12052008>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">As for the good side:
</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT
color=#000000> <o:p></o:p></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">1) This patch doesn't
introduce new problems if partitioning is not used.</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">2) If one knows what he
is doing, he can add partitioning support.</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT
color=#000000> <o:p></o:p></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">Possibale solutions
that I see to these problems are:</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT
color=#000000> <o:p></o:p></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">1) Adding partitions on
other ports: Solution is relatively simple but requires some work. There is
probably a need to change the registry interface, the user mode program and the
bus driver code.</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT
color=#000000> <o:p></o:p></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">2) This one seems
harder, and I don't have a complete solution. As part of the solution, the new
interfaces that are created by the bus driver should probably have other names
than the normal ones. They can still use the same INF, but with a different
title. It seems that we will still have to find a way of how to tell the
user which pkey is used for which device.</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT
color=#000000> <o:p></o:p></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">3) We need to
understand what the main reason is for this boots and how to avoid
them.</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT
color=#000000> <o:p></o:p></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">5) The assert has to be
fixed.</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT
color=#000000> <o:p></o:p></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">After all, in order to
allow people to send relatively small patches, I have decided to apply this
patch (with very minor changes) in revision 1160.</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT
color=#000000> <o:p></o:p></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">I hope to see more work
on fixing the issues I have raised in the coming future.</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT
color=#000000> <o:p></o:p></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">Thanks</SPAN><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">Tzachi</SPAN><o:p></o:p></P></SPAN></FONT></DIV></BODY></HTML>