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

List:       opensolaris-dtrace-discuss
Subject:    Re: [dtrace-discuss] iotop and dynamic variable drops
From:       "Brendan Gregg" <brendan.gregg () joyent ! com>
Date:       2011-02-28 21:06:42
Message-ID: AANLkTimkrjssMCn9f=3bP7DMta+Meeo4DsG8XYGK9Cxa () mail ! gmail ! com
[Download RAW message or body]

--===============1857606659==
Content-Transfer-Encoding: 7bit
Content-Class: urn:content-classes:message
Content-Type: multipart/alternative;
	boundary="20cf3054a0377c8c74049d5e0ed4"

This is a multi-part message in MIME format.


G'Day Tony,

Sorry about the dynvardrops; there are at least a couple of things you can
try.

1) increasing dynvarsize; this is commented in the script itself:

   201   /* boost the following if you get "dynamic variable drops" */
   202   #pragma D option dynvarsize=8m

That's 8 Mbytes.  You could try 16 Mbytes.

2) reworking the associative array key.  From the script:

   253          this->dev = args[0]->b_edev;
   254          this->blk = args[0]->b_blkno;
   255
   256          /* save disk event details, */
   257          start_uid[this->dev, this->blk] = uid;

I'm using both device number and block number as a 2-key unique ID.  I'd
suspect that a 1-key ID would be less expensive, such as by replacing
"this->dev, this->blk" with just "arg0" throughout the script.  The downside
is that this is not stable - it may work on Solaris and Mac OS X today, but
not in the future.  arg0 is actually a "struct buf *", which as an address
is unique and is a handy 1-key ID, but isn't part of the stable io provider
interface (it's using implementation details from pre-translation).

If you still have issues with drops due to high load, I'd write a much
shorter script to answer the specific question.

Brendan


On Thu, Feb 24, 2011 at 9:06 AM, Tony MacDoodle <tpsdoodle@gmail.com> wrote:

> Hello,
>
> How do I eliminate the following when running iotop dtrace script:
>
> dynamic variable drops
> dynamic variable drops
> dynamic variable drops
>
> Thanks Mike
>
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss@opensolaris.org
>



-- 
http://dtrace.org/blogs/brendan

[Attachment #3 (text/html)]

G&#39;Day Tony,<div><br></div><div>Sorry about the dynvardrops; there are at least a \
couple of things you can try.</div><div><br></div><div>1) increasing dynvarsize; this \
is commented in the script itself:</div><div><br></div>

<div><div>   201   /* boost the following if you get &quot;dynamic variable \
drops&quot; */</div><div>   202   #pragma D option \
dynvarsize=8m</div><div><br></div><div>That&#39;s 8 Mbytes.  You could try 16 \
Mbytes.</div><div>

<br></div><div>2) reworking the associative array key.  From the \
script:</div><div><br></div><div><div>   253          this-&gt;dev = \
args[0]-&gt;b_edev;</div><div>   254          this-&gt;blk = \
args[0]-&gt;b_blkno;</div>

<div>   255  </div><div>   256          /* save disk event details, */</div><div>   \
257          start_uid[this-&gt;dev, this-&gt;blk] = \
uid;</div></div><div><br></div><div>I&#39;m using both device number and block number \
as a 2-key unique ID.  I&#39;d suspect that a 1-key ID would be less expensive, such \
as by replacing &quot;this-&gt;dev, this-&gt;blk&quot; with just &quot;arg0&quot; \
throughout the script.  The downside is that this is not stable - it may work on \
Solaris and Mac OS X today, but not in the future.  arg0 is actually a &quot;struct \
buf *&quot;, which as an address is unique and is a handy 1-key ID, but isn&#39;t \
part of the stable io provider interface (it&#39;s using implementation details from \
pre-translation).</div>

<div><br></div><div>If you still have issues with drops due to high load, I&#39;d \
write a much shorter script to answer the specific \
question.</div><div><br></div><div>Brendan</div><div><br></div><br><div \
class="gmail_quote">

On Thu, Feb 24, 2011 at 9:06 AM, Tony MacDoodle <span dir="ltr">&lt;<a \
href="mailto:tpsdoodle@gmail.com" target="_blank">tpsdoodle@gmail.com</a>&gt;</span> \
wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex">

<div>Hello,</div>
<div> </div>
<div>How do I eliminate the following when running iotop dtrace script:</div>
<div> </div>
<div>dynamic variable drops</div>
<div>dynamic variable drops</div>
<div>dynamic variable drops</div>
<div> </div>
<div>Thanks Mike</div>
<br>_______________________________________________<br>
dtrace-discuss mailing list<br>
<a href="mailto:dtrace-discuss@opensolaris.org" \
target="_blank">dtrace-discuss@opensolaris.org</a><br></blockquote></div><br><br \
clear="all"><br>-- <br><a href="http://dtrace.org/blogs/brendan" \
target="_blank">http://dtrace.org/blogs/brendan</a><br>


</div>



_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org
--===============1857606659==--

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

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