* [LARTC] When the inside functions of a sfq are called ?
@ 2004-04-15 17:10 Adrian Saileanu
2004-04-16 0:47 ` Roy
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Adrian Saileanu @ 2004-04-15 17:10 UTC (permalink / raw)
To: lartc
I read the sched/qdiscs code from kernel source ... and I have some
questions :
When the .enqueue, .dequeue, .drop, .requeue functions are called ? What
is the event that triggers them and how often this event apears ( per
second ? ) ? When a qdisc is dequeued ( when it's limit is reached ) ?
Thanks
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LARTC] When the inside functions of a sfq are called ?
2004-04-15 17:10 [LARTC] When the inside functions of a sfq are called ? Adrian Saileanu
@ 2004-04-16 0:47 ` Roy
2004-04-16 12:24 ` Adrian Saileanu
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Roy @ 2004-04-16 0:47 UTC (permalink / raw)
To: lartc
Logicaly it would be so:
enqueue caled by last(leaf) filter
dequeue called by htb
drop should not be used in normal operation, probably called on "tc dev eth0
del root"
(this is what I think it should be not nessecary t is so)
----- Original Message -----
From: "Adrian Saileanu" <adrian@smartcall.ro>
To: <lartc@mailman.ds9a.nl>
Sent: Thursday, April 15, 2004 8:10 PM
Subject: [LARTC] When the inside functions of a sfq are called ?
>
> I read the sched/qdiscs code from kernel source ... and I have some
> questions :
>
> When the .enqueue, .dequeue, .drop, .requeue functions are called ? What
> is the event that triggers them and how often this event apears ( per
> second ? ) ? When a qdisc is dequeued ( when it's limit is reached ) ?
>
> Thanks
>
>
>
>
>
> _______________________________________________
> LARTC mailing list / LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
>
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LARTC] When the inside functions of a sfq are called ?
2004-04-15 17:10 [LARTC] When the inside functions of a sfq are called ? Adrian Saileanu
2004-04-16 0:47 ` Roy
@ 2004-04-16 12:24 ` Adrian Saileanu
2004-04-16 13:00 ` Roy
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Adrian Saileanu @ 2004-04-16 12:24 UTC (permalink / raw)
To: lartc
> Logicaly it would be so:
> enqueue caled by last(leaf) filter
> dequeue called by htb
> drop should not be used in normal operation, probably called on "tc dev
eth0 del root"
I think .drop is not being called when the qdisc gets deleted ...
Haven't you ever seen droped pachets when looking at the statistics by a
qdisc ? I suspect that htb is also calling this function whenever the
bandwith requested by the qdisk is not big enough !
>
> (this is what I think it should be not nessecary t is so)
>
> ----- Original Message -----
> From: "Adrian Saileanu" <adrian@smartcall.ro>
> To: <lartc@mailman.ds9a.nl>
> Sent: Thursday, April 15, 2004 8:10 PM
> Subject: [LARTC] When the inside functions of a sfq are called ?
>
>
>>
>> I read the sched/qdiscs code from kernel source ... and I have some
>> questions :
>>
>> When the .enqueue, .dequeue, .drop, .requeue functions are called ?
>> What
>> is the event that triggers them and how often this event apears ( per
>> second ? ) ? When a qdisc is dequeued ( when it's limit is reached ) ?
>>
>> Thanks
>>
>>
>>
>>
>>
>> _______________________________________________
>> LARTC mailing list / LARTC@mailman.ds9a.nl
>> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
>>
>
> _______________________________________________
> LARTC mailing list / LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
>
Adrian Saileanu
Netmaster Communications Srl
address: Str. Ion Brezoianu Nr. 20
Sector 1, Bucuresti, Romania
office: +40 21 315 92 00
mobile: +40 723 979 586
email: adrian@smartcall.ro
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LARTC] When the inside functions of a sfq are called ?
2004-04-15 17:10 [LARTC] When the inside functions of a sfq are called ? Adrian Saileanu
2004-04-16 0:47 ` Roy
2004-04-16 12:24 ` Adrian Saileanu
@ 2004-04-16 13:00 ` Roy
2004-04-18 10:05 ` Andy Furniss
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Roy @ 2004-04-16 13:00 UTC (permalink / raw)
To: lartc
----- Original Message -----
From: "Adrian Saileanu" <adrian@smartcall.ro>
To: "Roy" <roy@xxx.lt>
Cc: <lartc@mailman.ds9a.nl>
Sent: Friday, April 16, 2004 3:24 PM
Subject: Re: [LARTC] When the inside functions of a sfq are called ?
>
> > Logicaly it would be so:
> > enqueue caled by last(leaf) filter
> > dequeue called by htb
> > drop should not be used in normal operation, probably called on
> '"'tc dev
> eth0 del root'"'
>
> I think .drop is not being called when the qdisc gets deleted ...
> Haven't you ever seen droped pachets when looking at the statistics by a
> qdisc ? I suspect that htb is also calling this function whenever the
> bandwith requested by the qdisk is not big enough !
No, that is incorrect, when qdisc gets deleted its statistic also gets
deleted,
and if you are downloading at that time you may notice that downloads stops
for short time
so pakets are deleted, or else who will dequeue them if you deleted htb?
> >
> > (this is what I think it should be not nessecary t is
> so)
> >
> > ----- Original Message -----
> > From: '"'Adrian Saileanu'"'
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
> >>
> >
> > _______________________________________________
> > LARTC mailing list / LARTC@mailman.ds9a.nl
> > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
> >
>
>
> Adrian Saileanu
> Netmaster Communications Srl
>
> address: Str. Ion Brezoianu Nr. 20
> Sector 1, Bucuresti, Romania
>
> office: +40 21 315 92 00
> mobile: +40 723 979 586
> email: adrian@smartcall.ro
>
>
>
>
>
>
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LARTC] When the inside functions of a sfq are called ?
2004-04-15 17:10 [LARTC] When the inside functions of a sfq are called ? Adrian Saileanu
` (2 preceding siblings ...)
2004-04-16 13:00 ` Roy
@ 2004-04-18 10:05 ` Andy Furniss
2004-04-19 13:40 ` Adrian Saileanu
2004-04-19 14:55 ` Andy Furniss
5 siblings, 0 replies; 7+ messages in thread
From: Andy Furniss @ 2004-04-18 10:05 UTC (permalink / raw)
To: lartc
Adrian Saileanu wrote:
> I read the sched/qdiscs code from kernel source ... and I have some
> questions :
>
> When the .enqueue, .dequeue, .drop, .requeue functions are called ?
Do you mean in sfq.c - ie sfq_enqueue etc. Maybe you mean something else.
What
> is the event that triggers them and how often this event apears ( per
> second ? ) ?
I don't know as such, but always assumed that when attached to HTB - a
packet gets enqueued if there aren't enough (c)tokens to send it and
dequeued when there are. As for timing I don't think sfq uses any - it's
up to whatever it is attached to.
sfq_drop is called from sfq_enqueue when the queue is full. It drops
from the longest slot.
requeue - don't know.
Andy.
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LARTC] When the inside functions of a sfq are called ?
2004-04-15 17:10 [LARTC] When the inside functions of a sfq are called ? Adrian Saileanu
` (3 preceding siblings ...)
2004-04-18 10:05 ` Andy Furniss
@ 2004-04-19 13:40 ` Adrian Saileanu
2004-04-19 14:55 ` Andy Furniss
5 siblings, 0 replies; 7+ messages in thread
From: Adrian Saileanu @ 2004-04-19 13:40 UTC (permalink / raw)
To: lartc
> Adrian Saileanu wrote:
>> I read the sched/qdiscs code from kernel source ... and I have some
>> questions :
>>
>> When the .enqueue, .dequeue, .drop, .requeue functions are called ?
>
> Do you mean in sfq.c - ie sfq_enqueue etc. Maybe you mean something else.
Yes, I ment the functions in the Qdisc_ops struct :
+static struct Qdisc_ops dup_qdisc_ops = {
+ .next = NULL,
+ .cl_ops = NULL,
+ .id = "sfq",
+ .priv_size = sizeof(struct sfq_sched_data),
+ .enqueue = sfq_enqueue,
+ .dequeue = sfq_dequeue,
+ .requeue = sfq_requeue,
+ .drop = sfq_drop,
+ .init = sfq_init,
+ .reset = sfq_reset,
+ .destroy = NULL,
+ .change = sfq_init,
+ .dump = sfq_dump,
+ .owner = THIS_MODULE,
+};
> What
>> is the event that triggers them and how often this event apears ( per
>> second ? ) ?
>
> I don't know as such, but always assumed that when attached to HTB - a
> packet gets enqueued if there aren't enough (c)tokens to send it and
> dequeued when there are. As for timing I don't think sfq uses any - it's
> up to whatever it is attached to.
>
Ok, the packet gets enqueued ... and the queue gets full. Then if a new
packet arrives and the queue is still full ( it has not been dequeued )
then this packet is dropped. My question is ... is the queue dequeued
when it is full ? Or t can be dequeued even when the maximum has not
been reatched ? When this .dequeue function is called ?
> sfq_drop is called from sfq_enqueue when the queue is full. It drops
> from the longest slot.
>
I know this ...
> requeue - don't know.
>
> Andy.
>
> _______________________________________________
> LARTC mailing list / LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
>
Adrian Saileanu
Netmaster Communications Srl
address: Str. Ion Brezoianu Nr. 20
Sector 1, Bucuresti, Romania
office: +40 21 315 92 00
mobile: +40 723 979 586
email: adrian@smartcall.ro
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [LARTC] When the inside functions of a sfq are called ?
2004-04-15 17:10 [LARTC] When the inside functions of a sfq are called ? Adrian Saileanu
` (4 preceding siblings ...)
2004-04-19 13:40 ` Adrian Saileanu
@ 2004-04-19 14:55 ` Andy Furniss
5 siblings, 0 replies; 7+ messages in thread
From: Andy Furniss @ 2004-04-19 14:55 UTC (permalink / raw)
To: lartc
Adrian Saileanu wrote:
>>Adrian Saileanu wrote:
>>
>>> I read the sched/qdiscs code from kernel source ... and I have some
>>>questions :
>>>
>>> When the .enqueue, .dequeue, .drop, .requeue functions are called ?
>>
>>Do you mean in sfq.c - ie sfq_enqueue etc. Maybe you mean something else.
>
>
> Yes, I ment the functions in the Qdisc_ops struct :
>
> +static struct Qdisc_ops dup_qdisc_ops = {
> + .next = NULL,
> + .cl_ops = NULL,
> + .id = "sfq",
> + .priv_size = sizeof(struct sfq_sched_data),
> + .enqueue = sfq_enqueue,
> + .dequeue = sfq_dequeue,
> + .requeue = sfq_requeue,
> + .drop = sfq_drop,
> + .init = sfq_init,
> + .reset = sfq_reset,
> + .destroy = NULL,
> + .change = sfq_init,
> + .dump = sfq_dump,
> + .owner = THIS_MODULE,
> +};
>
>
>
>> What
>>
>>>is the event that triggers them and how often this event apears ( per
>>>second ? ) ?
>>
>>I don't know as such, but always assumed that when attached to HTB - a
>>packet gets enqueued if there aren't enough (c)tokens to send it and
>>dequeued when there are. As for timing I don't think sfq uses any - it's
>>up to whatever it is attached to.
>>
>
>
> Ok, the packet gets enqueued ... and the queue gets full. Then if a new
> packet arrives and the queue is still full ( it has not been dequeued )
> then this packet is dropped.
I think a packet gets enqueued - then the queue length is checked and if
it's full sfq_drop is called. sfq_drop drops a packet from the longest
slot - hence the packet that filled the queue may or may not be the one
that is dropped depending on which slot it got hashed to.
> My question is ... is the queue dequeued
> when it is full ? Or t can be dequeued even when the maximum has not
> been reatched ? When this .dequeue function is called ?
It is normal for dequeue to be called before the queue is full - exactly
when it gets called is the job of whatever the sfq got attached to.
Andy.
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2004-04-19 14:55 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-15 17:10 [LARTC] When the inside functions of a sfq are called ? Adrian Saileanu
2004-04-16 0:47 ` Roy
2004-04-16 12:24 ` Adrian Saileanu
2004-04-16 13:00 ` Roy
2004-04-18 10:05 ` Andy Furniss
2004-04-19 13:40 ` Adrian Saileanu
2004-04-19 14:55 ` Andy Furniss
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.