[RFC v2] mac80211: implement eBDP algorithm to fight bufferbloat
Nathaniel Smith
njs at pobox.com
Fri Feb 25 13:27:24 EST 2011
On Fri, Feb 25, 2011 at 10:21 AM, Nathaniel Smith <njs at pobox.com> wrote:
> static u64 _ktime_diff_to_now_and_unstash(ktime_t then, int * enqueued) {
>
> timespec ts_then = ktime_to_timespec(then);
> timespec ts_now = ktime_to_timespec(ktime_get());
> *enqueued = ts_then.tv_sec >> LATENCY_BITS;
> ts_then.tv_sec &= (1 << LATENCY_BITS) - 1;
> ts_now.tv_sec &= (1 << LATENCY_BITS) - 1;
> if (ts_now.tv_sec < ts_then.tv_sec)
> ts_now.tv_sec += (1 << LATENCY_BITS);
> timespec_sub(ts_now, ts_then);
> }
Err, plus the 'return timespec_to_ns(...)' on the last line, that I
was trying to add when my computer suddenly decided I wanted to send
the message. How embarrassing.
Anyway, not sure this is a *good* idea, but it should work. Hopefully
we don't actually need to measure latencies > 256 seconds in this
context...
-- Nathaniel
More information about the Bloat-devel
mailing list