* testing techniques to confirm the effectiveness of changes made to sch_gred.c
@ 2005-06-11 0:39 Rahul Hari
2005-06-12 10:46 ` Thomas Graf
0 siblings, 1 reply; 3+ messages in thread
From: Rahul Hari @ 2005-06-11 0:39 UTC (permalink / raw)
To: netdev, netdev, lartc-request, diffserv-general, linux.kernel
Hi,
I have made some changes to the file sch_gred.c to modify the GRED
queueing discipline to support the following features:
1) The first virtual queue should get absolute priority while
dequeueing (not caring if the others get starved)
2) While in equalise mode and with RIO mode enabled, the packets in
the first virtual queue should not be counted for calculating the
qave.
I want to confirm if the changes made by me are really effective. I
would be grateful if someone could let me know about any testing
techniques that can be followed for confirming that the changes are
really effective.
It would be great if someone could also let me know if the logic that
I have applied to effect these changes is correct.
My logic is as follows:
1) Since the process deals with dequeueing, i have to make changes to
gred_dequeue only. If t->tab[0] != 0 then we dequeue the packet
otherwise do not dequeue it.
2)
if (t->eqp && t->grio) {
for (i=0;i<t->DPs;i++) {
if ((!t->tab[i]) || (i==q->DP) || (i==0))
continue;
if ((t->tab[i] != q) && (PSCHED_IS_PASTPERFECT(t->tab[i]->qidlestart)))
qave +=t->tab[i]->qave;
}
Regards,
Rahul
--
----------------------
"The fear you let build up in your mind is worse than the situation
that actually exists"
from "who moved my cheese"
---------------------------------------------------------------------------------
Rahul Hari
Senior Under Grad. Student,
Department of CSE,
ITBHU,
Varanasi.
Ph: +91-9845347020
rahul.hari@cse06.itbhu.org
------------------------------------------------------------------------------------------
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: testing techniques to confirm the effectiveness of changes made to sch_gred.c
2005-06-11 0:39 testing techniques to confirm the effectiveness of changes made to sch_gred.c Rahul Hari
@ 2005-06-12 10:46 ` Thomas Graf
2005-06-12 20:05 ` Rahul Hari
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Graf @ 2005-06-12 10:46 UTC (permalink / raw)
To: rahul.hari; +Cc: netdev, netdev, lartc-request, diffserv-general, linux.kernel
* Rahul Hari <4532f3170506101739702e31ad@mail.gmail.com> 2005-06-11 06:09
> I have made some changes to the file sch_gred.c to modify the GRED
> queueing discipline to support the following features:
> 1) The first virtual queue should get absolute priority while
> dequeueing (not caring if the others get starved)
> 2) While in equalise mode and with RIO mode enabled, the packets in
> the first virtual queue should not be counted for calculating the
> qave.
You do not need to modify gred to achieve this, use a prio qdisc
with 2 bands, band 1 covers your "first virtual queue" with a single
red attached, band 2 covers the rest and uses a gred.
> 1) Since the process deals with dequeueing, i have to make changes to
> gred_dequeue only. If t->tab[0] != 0 then we dequeue the packet
> otherwise do not dequeue it.
What you describe above is: only dequeue when DP 0 is configured,
probably not what you want. The only way to prioritize within gred
the way you want is to modify dequeue() that it iterates through
sch->q looking for a skb with tcindex==DP0 and use it instead of
the skb at the queue head.
> 2)
> if (t->eqp && t->grio) {
>
> for (i=0;i<t->DPs;i++) {
> if ((!t->tab[i]) || (i==q->DP) || (i==0))
> continue;
>
> if ((t->tab[i] != q) && (PSCHED_IS_PASTPERFECT(t->tab[i]->qidlestart)))
> qave +=t->tab[i]->qave;
> }
You no longer consider the priority so it won't be wred anymore,
also if (i == q->DP) continue makes a check t->tab[i] != q
unnecessary.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: testing techniques to confirm the effectiveness of changes made to sch_gred.c
2005-06-12 10:46 ` Thomas Graf
@ 2005-06-12 20:05 ` Rahul Hari
0 siblings, 0 replies; 3+ messages in thread
From: Rahul Hari @ 2005-06-12 20:05 UTC (permalink / raw)
To: Thomas Graf; +Cc: netdev, netdev, lartc-request, diffserv-general
> > 1) Since the process deals with dequeueing, i have to make changes to
> > gred_dequeue only. If t->tab[0] != 0 then we dequeue the packet
> > otherwise do not dequeue it.
>
> What you describe above is: only dequeue when DP 0 is configured,
> probably not what you want. The only way to prioritize within gred
> the way you want is to modify dequeue() that it iterates through
> sch->q looking for a skb with tcindex==DP0 and use it instead of
> the skb at the queue head.
>
Thanks for the reply Thomas,
by checking t->tab[0]!=0, the approach I wanted to follow was that "if
I have a packet in the virtual queue with DP 0, then I should not be
dequeuing any packets from the other virtual queues", ie, take no
action at all.
with best regards,
Rahul
--
----------------------
"The fear you let build up in your mind is worse than the situation
that actually exists"
from "who moved my cheese"
---------------------------------------------------------------------------------
Rahul Hari
Senior Under Grad. Student,
Department of CSE,
ITBHU,
Varanasi.
Ph: +91-9845347020
rahul.hari@cse06.itbhu.org
------------------------------------------------------------------------------------------
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-06-12 20:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-11 0:39 testing techniques to confirm the effectiveness of changes made to sch_gred.c Rahul Hari
2005-06-12 10:46 ` Thomas Graf
2005-06-12 20:05 ` Rahul Hari
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).