All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Devera <devik@cdi.cz>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] Re: More on qdiscs - about dangling backlogs
Date: Tue, 07 May 2002 07:50:10 +0000	[thread overview]
Message-ID: <marc-lartc-102075789210548@msgid-missing> (raw)
In-Reply-To: <marc-lartc-102058802801083@msgid-missing>

> > I suppose SFQ could still do something like above even if HTB were
> > dropping expired packets at dequeue.  And this would save all qdiscs
> > the work of dropping expired packets at dequeue, which is still needed
> > even if you also check at enqueue.  Also, only dropping at dequeue is
> > a good approximation to what you want in the common case where the
> > queue size is too large for the low rate assigned to the class.  I
> > argue it's much better to do this in a few classful qdiscs than to ask
> > for it to be done by all the others.
>
> I hope i got you right, here are my thoughts on this:
>
> I don't think dropping at dequeue is necessary. The goal is not to provide
> a maximum in-queue time, if the qdisc is able to send there is no reason
> to drop. The problem is if the qdisc is not able to send many packets
> can get queued until drops occur. This means it takes a long time until
> the sender receives indication of congestion. For TCP, congestion is
> indicated by either consequent ACKS with the same ACK number or SACKs.
> ACKs are only generated by the receiver if something was actualy
> received, so by dropping packets after some timeout the time until a
> duplicate ACK is generated becomes smaller.

IIRC the congestion is also indicated by not recieving ACK for some
period (2*RTT is initial IIRC). So that when packet is delayed too much
TCP treats it as drop and sends dupliocate ACK requesting whole prev.
segment ...

> If you assume the expiration time to be smaller than the time requried
> to fill the senders congestion window, it doesn't makes sense anymore to
> drop packets during dequeue as this could possibly prevent a duplicate
> ACK from beeing generated -> relay indication of congestion.

right.

> It sounds better to me to check for expired packets during enqueue
> (timers would probably be too expensive i guess) and drop them before
> enqueueing the new packet.

exactly :)

> With SFQ, what about not keeping a per-packet timeout but a per-flow
> congestion-indication timeout which would drop the first packet of a
> flow after max(age of any packet from this flow) >= timeout ? This would
> assure congestion indication to be delivered to the sender as soon as
> the flow is chosen to send again after the timeout occured (as long as
> qlen(flow) > 1 which is probably the case).

Maybe I don't remember some RFC correctly but ACKs with info
about congestion are sent in reverse direction .. (?)

But I still think that if ever do this machinery that it should
be done at bot enqueue and dequeue time. Don Cohen is right in
thing that in dequeue it'd be simpler to implement (at least
for testing).

devik

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

  parent reply	other threads:[~2002-05-07  7:50 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-05  8:39 [LARTC] Re: More on qdiscs - about dangling backlogs Martin Devera
2002-05-06  0:23 ` Don Cohen
2002-05-06 21:31 ` Martin Devera
2002-05-06 23:48 ` Don Cohen
2002-05-07  2:11 ` Patrick McHardy
2002-05-07  5:11 ` Don Cohen
2002-05-07  7:29 ` Martin Devera
2002-05-07  7:50 ` Martin Devera [this message]
2002-05-07  7:57 ` Martin Devera
2002-05-07 18:22 ` Don Cohen
2002-05-07 18:45 ` Patrick McHardy
2002-05-07 19:20 ` Don Cohen
2002-05-09 11:53 ` Martin Devera
2002-05-09 13:46 ` Don Cohen
2002-05-09 14:43 ` Martin Devera

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=marc-lartc-102075789210548@msgid-missing \
    --to=devik@cdi.cz \
    --cc=lartc@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 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.