All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <dada1@cosmosbay.com>
To: Patrick McManus <mcmanus@ducksong.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: RFC [PATCH 3/3] TCP_DEFER_ACCEPT updates: more accurate timers and	resets
Date: Sat, 01 Mar 2008 11:53:48 +0100	[thread overview]
Message-ID: <47C935BC.9060409@cosmosbay.com> (raw)
In-Reply-To: <1204076973.15970.37.camel@tng>

Patrick McManus a écrit :
> Signed-off-by: Patrick McManus <mcmanus@ducksong.com>
> 
>   Change TCP_DEFER_ACCEPT implementation so that it transitions a
>     connection to ESTABLISHED after handshake is complete instead of
>     leaving it in SYN-RECV until some data arrvies. Place connection in
>     accept queue when first data packet arrives from slow path.
> 
>     Benefits:
>      - established connection is now reset if it never makes it to the accept
>      queue
> 
>      - diagnostic state of established matches with the packet traces
>        showing completed handshake
> 
>     - TCP_DEFER_ACCEPT timeouts are expressed in seconds and can now be
>       enforced with reasonable accuracy instead of rounding up to next
>       exponential back-off of syn-ack retry.

This all makes sense Patrick.

Your patch is quite large and difficult to review (for me :) )

1) Adding "struct tcp_deferred_accept_info" on "struct tcp_sock" (24 bytes on 
64 bit arches) is a rather high cost to pay for an obscure TCP_DEFER_ACCEPT.

But then, many "struct tcp_sock" fields are used only at socket establishment.

2) About MAX_TCP_ACCEPT_DEFERRED test in do_tcp_setsockopt(), I am not sure we 
can return -EINVAL.

setsockopt(TCP_DEFER_ACCEPT, 100000) is a hint given by application, and could 
be mapped to setsockopt(TCP_DEFER_ACCEPT, 65535) silently.


  reply	other threads:[~2008-03-01 10:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-27  1:49 RFC [PATCH 3/3] TCP_DEFER_ACCEPT updates: more accurate timers and resets Patrick McManus
2008-03-01 10:53 ` Eric Dumazet [this message]
2008-03-01 20:59   ` Patrick McManus

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=47C935BC.9060409@cosmosbay.com \
    --to=dada1@cosmosbay.com \
    --cc=mcmanus@ducksong.com \
    --cc=netdev@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.