public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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/


             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