* Latest cobalt updates
@ 2017-09-17 14:34 George Amanakis
2017-09-18 19:54 ` George Amanakis
0 siblings, 1 reply; 2+ messages in thread
From: George Amanakis @ 2017-09-17 14:34 UTC (permalink / raw)
To: cake
Dear Jonathan,
I am looking/testing the latest cobalt updates.Most of them make sense.
I have a question though.
At the end of cake_dequeue() you schedule the watchdog at
"now+q->tins[i].cparams.target" if "!sch->q.qlen". This seems very
reasonable. Instead in the beginning of cake_enqueue() you do:
916 if (!sch->q.qlen) {
917 if (q->time_next_packet < now) {
918 q->time_next_packet = now;
919 } else if (q->time_next_packet > now) {
920 sch->qstats.overlimits++;
921 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
922 codel_watchdog_schedule_ns(&q->watchdog, q->time_next_packet, true);
923 #else
924 qdisc_watchdog_schedule_ns(&q->watchdog, q->time_next_packet);
925 #endif
926 }
927 }
928 }
Is there any reason why you haven't scheduled the watchdog at
"now+q->tins[i].cparams.target" like in cake_dequeue()?
Thank you,
George
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Latest cobalt updates
2017-09-17 14:34 Latest cobalt updates George Amanakis
@ 2017-09-18 19:54 ` George Amanakis
0 siblings, 0 replies; 2+ messages in thread
From: George Amanakis @ 2017-09-18 19:54 UTC (permalink / raw)
To: cake
[-- Attachment #1: Type: text/plain, Size: 1669 bytes --]
To answer my own question: I think there is a reason for not doing so. If cake_enqueue() gets called there is a packet we need to dequeue later on. So it wouldn't be wise to schedule the watchdog blindly at "now+q->tins[i].cparams.target" even though the scheduler's queue is still empty at that point.
>On Sunday, September 17, 2017, 10:34:31 AM EDT, George Amanakis <g_amanakis@yahoo.com> wrote:
>Dear Jonathan,
>I am looking/testing the latest cobalt updates.Most of them make sense.
>I have a question though.
>At the end of cake_dequeue() you schedule the watchdog at
>"now+q->tins[i].cparams.target" if "!sch->q.qlen". This seems very
>reasonable. Instead in the beginning of cake_enqueue() you do:
>
> 916 if (!sch->q.qlen) {
> 917 if (q->time_next_packet < now) {
> 918 q->time_next_packet = now;
> 919 } else if (q->time_next_packet > now) {
> 920 sch->qstats.overlimits++;
> 921 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
> 922 codel_watchdog_schedule_ns(&q->watchdog, q->time_next_packet, true);
> 923 #else
> 924 qdisc_watchdog_schedule_ns(&q->watchdog, q->time_next_packet);
> 925 #endif
> 926 }
> 927 }
> 928 }
>
>Is there any reason why you haven't scheduled the watchdog at
>"now+q->tins[i].cparams.target" like in cake_dequeue()?
>
>Thank you,
>George
[-- Attachment #2: Type: text/html, Size: 2713 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-09-18 19:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-17 14:34 Latest cobalt updates George Amanakis
2017-09-18 19:54 ` George Amanakis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox