[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    RE: [PATCH] 8214535: Extend JMap to support parallel and incremental heap scanning
From:       臧琳 <zanglin5 () jd ! com>
Date:       2018-12-19 3:21:11
Message-ID: 3f2376611e4c4cf6b6d96dda9263351b () jd ! com
[Download RAW message or body]

[Attachment #2 (text/plain)]

Dear Jc,
       Thanks a lot! I will update the webrev and ask for review separately ☺

BRs,
Lin

From: JC Beyler [mailto:jcbeyler@google.com]
Sent: Wednesday, December 19, 2018 11:18 AM
To: 臧琳 <zanglin5@jd.com>
Cc: serviceability-dev@openjdk.java.net
Subject: Re: [PATCH] 8214535: Extend JMap to support parallel and incremental heap \
scanning

Hi Lin,

Done:


1.     Add dump to file support for jmap –histo
https://bugs.openjdk.java.net/browse/JDK-8215622


2.     Add incremental dump for jmap –histo
 https://bugs.openjdk.java.net/browse/JDK-8215623

3.     Add parallel heap iteration for jmap –histo.
https://bugs.openjdk.java.net/browse/JDK-8215624

Is it reasonable ?

Sounded reasonable to me :-)
Jc

Thanks!

BRs,
Lin
From: JC Beyler [mailto:jcbeyler@google.com<mailto:jcbeyler@google.com>]
Sent: Wednesday, December 19, 2018 12:56 AM
To: 臧琳 <zanglin5@jd.com<mailto:zanglin5@jd.com>>
Cc: serviceability-dev@openjdk.java.net<mailto:serviceability-dev@openjdk.java.net>
Subject: Re: [PATCH] 8214535: Extend JMap to support parallel and incremental heap \
scanning

Hi Lin,

Would it not be easier to make 3 different JBS items that are all enhancements? Or \
perhaps 3 subtasks to the original JDK-8214535? Then you could send out a request for \
review for the first two and we can talk about the third.

I think all three parts can be considered separately (and it seems you do too).

Thanks,
Jc

On Tue, Dec 18, 2018 at 12:58 AM 臧琳 <zanglin5@jd.com<mailto:zanglin5@jd.com>> \
wrote:

Hi All,

    I am preparing the patch for https://bugs.openjdk.java.net/browse/JDK-8214535, \
and want to get your suggestions.



    To make the patch easier to review. I plan to make 3 patches as following:

    1. one patch for enabling file dump of "jmap \
-histo".(http://cr.openjdk.java.net/~xiaofeya/JDK-8214535/file_dump/webrev.00/webrev/)


    2. one patch for incremental dump intermediate data to file of "jmap \
-histo".(http://cr.openjdk.java.net/~xiaofeya/JDK-8214535/incremental/webrev.00/)

    3. one patch for parallel iterating heap of "jmap -histo". (WIP)



    And the patches for item 1 & 2 are ready. patch for 3 is WIP.

    May I ask your help to review these patches?

    Thanks.



BRs,

Lin


--

Thanks,
Jc


--

Thanks,
Jc


[Attachment #3 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:宋体;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:等线;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"\@等线";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"\@宋体";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:宋体;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:宋体;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:宋体;}
p.gmail-m782536124598788791msolistparagraph, \
li.gmail-m782536124598788791msolistparagraph, \
div.gmail-m782536124598788791msolistparagraph  \
{mso-style-name:gmail-m_782536124598788791msolistparagraph;  mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:宋体;}
span.EmailStyle20
	{mso-style-type:personal-reply;
	font-family:等线;
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:等线;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ZH-CN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D">Dear Jc, \
<o:p></o:p></span></p> <p class="MsoNormal"><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
Thanks a lot! I will update the webrev and ask for review separately </span><span \
lang="EN-US" style="font-size:10.5pt;font-family:Wingdings;color:#1F497D">J</span><span \
lang="EN-US" style="font-size:10.5pt;font-family:等线;color:#1F497D"> \
<o:p></o:p></span></p> <p class="MsoNormal"><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
 <p class="MsoNormal"><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D">BRs,<o:p></o:p></span></p> \
<p class="MsoNormal"><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D">Lin<o:p></o:p></span></p> \
<p class="MsoNormal"><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
 <p class="MsoNormal"><b><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span \
lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> JC \
Beyler [mailto:jcbeyler@google.com] <br>
<b>Sent:</b> Wednesday, December 19, 2018 11:18 AM<br>
<b>To:</b> </span><span style="font-size:11.0pt">臧琳</span><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> \
&lt;zanglin5@jd.com&gt;<br> <b>Cc:</b> serviceability-dev@openjdk.java.net<br>
<b>Subject:</b> Re: [PATCH] 8214535: Extend JMap to support parallel and incremental \
heap scanning<o:p></o:p></span></p> <p class="MsoNormal"><span \
lang="EN-US"><o:p>&nbsp;</o:p></span></p> <div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">Hi Lin,<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Done:<o:p></o:p></span></p>
</div>
</div>
<div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm \
6.0pt;margin-left:4.8pt;margin-right:0cm"> <div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="gmail-m782536124598788791msolistparagraph" style="margin-left:35.5pt"><span \
lang="EN-US" style="font-size:10.5pt;font-family:等线;color:#1F497D">1.</span><span \
lang="EN-US" style="font-size:7.0pt;font-family:&quot;Times New \
Roman&quot;,serif;color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp; </span><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D">Add dump to file support \
for jmap </span><span \
style="font-size:10.5pt;font-family:等线;color:#1F497D">–<span \
lang="EN-US">histo</span></span><span lang="EN-US"><o:p></o:p></span></p> </div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US"><a \
href="https://bugs.openjdk.java.net/browse/JDK-8215622">https://bugs.openjdk.java.net/browse/JDK-8215622</a><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span lang="EN-US">&nbsp;<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm \
6.0pt;margin-left:4.8pt;margin-right:0cm"> <div>
<div>
<p class="gmail-m782536124598788791msolistparagraph" style="margin-left:35.5pt"><span \
lang="EN-US" style="font-size:10.5pt;font-family:等线;color:#1F497D">2.</span><span \
lang="EN-US" style="font-size:7.0pt;font-family:&quot;Times New \
Roman&quot;,serif;color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp; </span><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D">Add incremental dump for \
jmap </span><span style="font-size:10.5pt;font-family:等线;color:#1F497D">–<span \
lang="EN-US">histo</span></span><span lang="EN-US"><o:p></o:p></span></p> </div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US">&nbsp;<a \
href="https://bugs.openjdk.java.net/browse/JDK-8215623">https://bugs.openjdk.java.net/browse/JDK-8215623</a><o:p></o:p></span></p>
 </div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm \
6.0pt;margin-left:4.8pt;margin-right:0cm"> <div>
<div>
<p class="gmail-m782536124598788791msolistparagraph" style="margin-left:35.5pt"><span \
lang="EN-US" style="font-size:10.5pt;font-family:等线;color:#1F497D">3.</span><span \
lang="EN-US" style="font-size:7.0pt;font-family:&quot;Times New \
Roman&quot;,serif;color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp; </span><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D">Add parallel heap iteration \
for jmap </span><span \
style="font-size:10.5pt;font-family:等线;color:#1F497D">–<span \
lang="EN-US">histo.</span></span><span lang="EN-US"><o:p></o:p></span></p> </div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US"><a \
href="https://bugs.openjdk.java.net/browse/JDK-8215624">https://bugs.openjdk.java.net/browse/JDK-8215624</a><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span lang="EN-US">&nbsp;<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm \
6.0pt;margin-left:4.8pt;margin-right:0cm"> <div>
<div>
<p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:17.5pt"> <span \
lang="EN-US" style="font-size:10.5pt;font-family:等线;color:#1F497D">Is it \
reasonable ?</span><span lang="EN-US"><o:p></o:p></span></p> </div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Sounded reasonable to me \
:-)<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal"><span lang="EN-US">Jc<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">&nbsp;<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm \
6.0pt;margin-left:4.8pt;margin-right:0cm"> <div>
<div>
<p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:15.75pt"> <span \
lang="EN-US" style="font-size:10.5pt;font-family:等线;color:#1F497D">Thanks!</span><span \
lang="EN-US"><o:p></o:p></span></p> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D">&nbsp;</span><span \
lang="EN-US"><o:p></o:p></span></p> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D">BRs,</span><span \
lang="EN-US"><o:p></o:p></span></p> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" \
style="font-size:10.5pt;font-family:等线;color:#1F497D">Lin</span><span \
lang="EN-US"><o:p></o:p></span></p> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span \
lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> JC  \
Beyler [mailto:<a href="mailto:jcbeyler@google.com" \
target="_blank">jcbeyler@google.com</a>] <br>
<b>Sent:</b> Wednesday, December 19, 2018 12:56 AM<br>
<b>To:</b> </span><span style="font-size:11.0pt">臧琳</span><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> &lt;<a \
href="mailto:zanglin5@jd.com" target="_blank">zanglin5@jd.com</a>&gt;<br> <b>Cc:</b> \
<a href="mailto:serviceability-dev@openjdk.java.net" \
target="_blank">serviceability-dev@openjdk.java.net</a><br> <b>Subject:</b> Re: \
[PATCH] 8214535: Extend JMap to support parallel and incremental heap \
scanning</span><span lang="EN-US"><o:p></o:p></span></p> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">&nbsp;<o:p></o:p></span></p> <div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">Hi Lin,<o:p></o:p></span></p> <div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">&nbsp;<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">Would it not be easier to make 3 different JBS items that are all \
enhancements? Or perhaps 3 subtasks to the original JDK-8214535? Then you could send \
out a request  for review for the first two and we can talk about the \
third.<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">&nbsp;<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">I think all three parts can be considered separately (and it seems you \
do too).<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">&nbsp;<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">Thanks,<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">Jc<o:p></o:p></span></p> </div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">&nbsp;<o:p></o:p></span></p> <div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">On Tue, Dec 18, 2018 at 12:58 AM </span>臧琳<span lang="EN-US"> &lt;<a \
href="mailto:zanglin5@jd.com" target="_blank">zanglin5@jd.com</a>&gt; \
wrote:<o:p></o:p></span></p> </div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm \
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt"> <div>
<div id="gmail-m_782536124598788791gmail-m_5826960820791151305divtagdefaultwrapper">
<p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">Hi \
All,&nbsp;</span><span lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp; &nbsp; I am \
preparing the patch for&nbsp;<a \
href="https://bugs.openjdk.java.net/browse/JDK-8214535" target="_blank" \
id="gmail-m_782536124598788791gmail-m_5826960820791151305LPlnk448669">https://bugs.openjdk.java.net/browse/JDK-8214535</a>,
  and want to get your suggestions.</span><span lang="EN-US"><o:p></o:p></span></p>
<p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp;</span><span \
lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp; &nbsp; To make \
the patch easier to review. I plan to make 3 patches as following:</span><span \
lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp; &nbsp; 1. one \
patch for enabling file dump&nbsp;of &quot;jmap -histo&quot;.(<a \
href="http://cr.openjdk.java.net/~xiaofeya/JDK-8214535/file_dump/webrev.00/webrev/" \
target="_blank" id="gmail-m_782536124598788791gmail-m_5826960820791151305LPlnk231635"> \
http://cr.openjdk.java.net/~xiaofeya/JDK-8214535/file_dump/webrev.00/webrev/</a>)</span><span \
lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp; &nbsp; 2. one \
patch for incremental dump&nbsp;intermediate data to file of &quot;jmap \
-histo&quot;.(<a href="http://cr.openjdk.java.net/~xiaofeya/JDK-8214535/incremental/webrev.00/" \
target="_blank" id="gmail-m_782536124598788791gmail-m_5826960820791151305LPlnk779367"> \
http://cr.openjdk.java.net/~xiaofeya/JDK-8214535/incremental/webrev.00/</a>)</span><span \
lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp; &nbsp; 3. one \
patch for parallel iterating&nbsp;heap of &quot;jmap -histo&quot;. (WIP)</span><span \
lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp;</span><span \
lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp; &nbsp; And the \
patches for item 1 &amp; 2 are ready. patch for 3 is WIP.&nbsp;</span><span \
lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp; &nbsp; May I \
ask your help to review these patches?</span><span \
lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp; &nbsp; \
Thanks.</span><span lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">&nbsp;</span><span \
lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">BRs,</span><span \
lang="EN-US"><o:p></o:p></span></p> <p><span lang="EN-US" \
style="font-family:&quot;Calibri&quot;,sans-serif;color:black">Lin</span><span \
lang="EN-US"><o:p></o:p></span></p> </div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US"><br clear="all"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">&nbsp;<o:p></o:p></span></p> </div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">-- <o:p></o:p></span></p>
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">&nbsp;<o:p></o:p></span></p> </div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">Thanks,<o:p></o:p></span></p> <div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">Jc<o:p></o:p></span></p> </div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><span lang="EN-US"><br clear="all">
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US">-- <o:p></o:p></span></p>
<div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US">Thanks,<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">Jc<o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic