From: "ashwani kumar mehra" <ashwani_mehra@rediffmail.com>
To: linux-kernel@vger.kernel.org
Subject: CBQ implementation issues on linux
Date: 19 Aug 2002 14:19:16 -0000 [thread overview]
Message-ID: <20020819141916.15289.qmail@webmail27.rediffmail.com> (raw)
Hi,
I'm currently looking at various CBQ implementation issues and
have been comparing the ALTQ and the Linux approach in this
regard. However I've been unable to fathom out as to how does
Linux exactly address some of the CBQ requirements.
I've gone through the relevant portions of the code
(sch_cbq.c;sch_generic.c;pkt_*.c, etc.) My current understanding
is that the packet scheduler is invoked :
i) during packet enqueue (in
dev_queue_xmit->queue_run->queue_restart
ii) on expiry of CBQ watchdog timers (thru raising a software
interrupt from __netif_schedule in include/linux/netdevice.h).
iii) A late 1999 doc that i found on the web says the dequeue
code is also invoked via qdisc_run_queues (in sch_generic.c), thru
a bottom half handler(net_bh). but am unable to locate it in the
2.4.18 code. am i missing something obvious or has the same been
reimplemented using tasklets/soft interrupts? maybe a call to
qdisc_restart?
There are two issues
1. buffering at driver level: large buffering at driver level may
negate the effect of the scheduler by delaying higher priority
packets. ALTQ uses a token bucket regulator after the scheduler to
counter this problem. however i've been unable to find something
similar or any comment on this issue with regards to linux.
2. timer granularity issues: a driver will only interrupt after
its buffer gets emptied. however the scheduler may be invoked in
between by trigerring it on events like packet enqueue, expiry of
watchdog timers, etc. In case of timer expiry events, the timer
granularity remains 10 ms, so wont this lead to a bursty dequeue
on the next timer tick?
Please CC any replies.
Thanx in advance
Ashwani
India
__________________________________________________________
Give your Company an email address like
ravi @ ravi-exports.com. Sign up for Rediffmail Pro today!
Know more. http://www.rediffmailpro.com/signup/
next reply other threads:[~2002-08-19 14:16 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-19 14:19 ashwani kumar mehra [this message]
2002-09-15 6:16 ` CBQ implementation issues on linux Werner Almesberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020819141916.15289.qmail@webmail27.rediffmail.com \
--to=ashwani_mehra@rediffmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox