public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* CBQ implementation issues on linux
@ 2002-08-19 14:19 ashwani kumar mehra
  2002-09-15  6:16 ` Werner Almesberger
  0 siblings, 1 reply; 2+ messages in thread
From: ashwani kumar mehra @ 2002-08-19 14:19 UTC (permalink / raw)
  To: linux-kernel

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/


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

end of thread, other threads:[~2002-09-16  1:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-08-19 14:19 CBQ implementation issues on linux ashwani kumar mehra
2002-09-15  6:16 ` Werner Almesberger

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