CoDel AQM discussions
 help / color / mirror / Atom feed
* [Codel] fp sqrt vis int sqrt?
@ 2012-05-04 15:11 Dave Taht
  2012-05-04 15:14 ` Jim Gettys
  0 siblings, 1 reply; 18+ messages in thread
From: Dave Taht @ 2012-05-04 15:11 UTC (permalink / raw)
  To: codel

The linux kernel has no floating point in it, so I'd substituted the
internal int_sqrt as a substitute,
just to get something to work.

static inline ktime_t control_law(const struct codel_sched_data *q, ktime_t t)
{
        return ktime_add_ns(t, q->interval / int_sqrt(q->count));
}

Often ns2 models use floating point. Having not seen the model I don't
know that for sure.

The series for an integer sqrt is far more 'chunky' than a fp one.

int sqrt 1,2,3,4 = 1 1 1 2
fp sqrt 1 2 3 4 = 1 1.4.1 1.73 2

and gets even more chunky as you get larger values, eg, sqrt(36
through 48) = 6, sqrt(49) = 7

So we could precalculate the interval/sqrt(count) using floating point
in the control law calculation,
early, during qdisc setup, thus neatly avoiding both the divide and
sqrt in the control law path.

Or we could do fixed point.

Kathie: In the sim, in various simulations, what is the dynamic range
of count? And is it floating point sqrt?

-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://www.bufferbloat.net

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2012-05-05  8:14 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-04 15:11 [Codel] fp sqrt vis int sqrt? Dave Taht
2012-05-04 15:14 ` Jim Gettys
2012-05-04 15:19   ` Dave Taht
2012-05-04 15:26     ` Jim Gettys
2012-05-04 15:56       ` Eric Dumazet
2012-05-04 17:23         ` Dave Taht
2012-05-04 17:43           ` Dave Taht
2012-05-04 17:44             ` Dave Taht
2012-05-04 17:46               ` Dave Taht
2012-05-04 23:42               ` Kathleen Nichols
2012-05-05  0:01                 ` Dave Taht
2012-05-04 17:47           ` Eric Dumazet
2012-05-04 18:26             ` Eric Dumazet
2012-05-04 18:39               ` Dave Taht
2012-05-04 18:50                 ` Eric Dumazet
2012-05-04 19:04                   ` Dave Taht
2012-05-04 19:16                     ` Eric Dumazet
2012-05-05  8:14                       ` Eric Dumazet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox