<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    On 05/05/2012 04:09 PM, dave taht wrote:
    <blockquote cite="mid:4FA5B320.8050207@gmail.com" type="cite">On
      05/05/2012 03:48 PM, dave taht wrote:
      <br>
      <blockquote type="cite">On 05/05/2012 03:39 PM, Eric Dumazet
        wrote:
        <br>
        <blockquote type="cite">On Sat, 2012-05-05 at 15:34 -0700, dave
          taht wrote:
          <br>
          <blockquote type="cite">On 05/05/2012 03:09 PM, Eric Dumazet
            wrote:
            <br>
            <blockquote type="cite">On Sat, 2012-05-05 at 15:03 -0700,
              dave taht wrote:
              <br>
              <br>
              <blockquote type="cite">Maybe on your arch, but highly
                doubtful on a 680Mhz mips that isn't even
                <br>
                superscalar.
                <br>
                <br>
              </blockquote>
              CPU are fast, memory is slow.
              <br>
              <br>
              <blockquote type="cite">I'd prefer to leave it in and be
                able to compile it out, and actually
                <br>
                measure the difference.
                <br>
              </blockquote>
              You optimize the case where there is no need to optimize
              (small queue)
              <br>
              <br>
              I can see count bigger than 100000 with 20 concurrent
              netperf
              <br>
              <br>
              This makes no sense to have a cache so big.
              <br>
              <br>
              Or there is a bug in codel
              <br>
            </blockquote>
            The original reciprocol approximation test code rapidly goes
            AWOL after
            <br>
            exceeding 2^8.
            <br>
            <br>
            I went looking for butterflies and didn't see any in the
            scaled code in
            <br>
            the range 0-100000,
            <br>
            and they would only take flight briefly, so...
            <br>
            <br>
            However I have not corrected it for BITS_PER_LONG as per our
            4AM
            <br>
            discussion.
            <br>
          </blockquote>
          You should use the exact code in kernel. (using BITS_PER_LONG)
          <br>
          <br>
          <blockquote type="cite">...
            <br>
            <br>
            interval/sqrt(99999)=316229 approx :6250190 19.76475908
            interval/scaled:
            <br>
            316236 1.00002214
            <br>
            <br>
            <blockquote type="cite">
              <br>
            </blockquote>
          </blockquote>
          If you read the code , there is no possible overflow, even
          with very
          <br>
          large 'u32 count'
          <br>
          <br>
          anyway the problem is q->count keeps increasing under load.
          <br>
          <br>
          Only when load is stopped for a while, count is reset to 1
          <br>
          <br>
        </blockquote>
        Stalking butterflies. (
        <a class="moz-txt-link-freetext" href="http://en.wikipedia.org/wiki/File:Lorenz_attractor_yb.svg">http://en.wikipedia.org/wiki/File:Lorenz_attractor_yb.svg</a> )
        <br>
        <br>
        I suspected also we would have issues as we hit some natural
        quantums (clock rate/interrupt rate/bql estimator etc) but for
        all I know it's just a plain bug. I need a reboot. Goin to
        dinner.
        <br>
        <br>
      </blockquote>
      <br>
      If we just compare us to us rather than ns to ns you get chunkier
      drops, by a lot...
      <br>
    </blockquote>
    truncate  at 10 * <b><a
        href="http://en.wikipedia.org/wiki/Mu_%28letter%29" title="Mu
        (letter)">µs</a> </b>or .1ms<br>
    <br>
    seriously going to dinner now<br>
    <blockquote cite="mid:4FA5B320.8050207@gmail.com" type="cite">interval/sqrt(370)=5198752
      approx :6250190 1.20224815 interval/scaled: 5198761 1.00000173
      <br>
      interval/sqrt(371)=5191741 approx :6250190 1.20387169
      interval/scaled: 5191776 1.00000674
      <br>
      <br>
      <br>
      secondly adding a fudge factor to the calculation would bring it
      closer to inline with an actual sqrt.
      <br>
      <br>
      <br>
      <blockquote type="cite">
        <blockquote type="cite">
          <br>
          <br>
          <br>
          <br>
          <br>
        </blockquote>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>