From: Harald Welte <laforge@netfilter.org>
To: sandr8@crocetta.org
Cc: Rusty Russell <rusty@rustcorp.com.au>,
netfilter-devel@lists.netfilter.org
Subject: Re: adding field into conntrack
Date: Mon, 2 Aug 2004 10:46:02 +0200 [thread overview]
Message-ID: <20040802084602.GJ18758@sunbeam2> (raw)
In-Reply-To: <1091434360.410df7789a879@mail.crocetta.org>
[-- Attachment #1: Type: text/plain, Size: 1699 bytes --]
On Mon, Aug 02, 2004 at 10:12:40AM +0200, sandr8@crocetta.org wrote:
> Around line 1320 of net/core/dev.c, the packet is fed to the queueing
> discipline associated with the egressing interface. The enqueuing
> operation might not be succesful or even being succesful it could have
> made the queueing discipline drop an other packet (possibly belonging
> to an other stream).
Yes, indeed.
> The error we made could be huge with respect to open loop streams
> (such as UDP), while with closed loop ones we could imagine that there
> will be not that much difference between the throughput seen before
> the enqueuing and the goodput seen after the deuqueuing.
My reason for making it less accurate was performance. By putting the
counter updates into the ip_ct_refresh_acct() function, we minimize
write lock contention on ip_conntrack_lock, since we only need to grab
it once per packet (as opposed to a second time after qdisc enqueue).
But if I understood your approach corretly, you would want to keep this
code in place but later check for enqueue result and decrement
accounting? This means that the extra write lock grab would only happen
in case of dropped packets... that sounds fine.
Please prepare an incremental patch and we'll review & discuss with
netdev people.
> Alessandro
--
- Harald Welte <laforge@netfilter.org> http://www.netfilter.org/
============================================================================
"Fragmentation is like classful addressing -- an interesting early
architectural error that shows how much experimentation was going
on while IP was being designed." -- Paul Vixie
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2004-08-02 8:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1091042173.4107fb7d2cabf@mail.crocetta.org>
2004-07-29 0:29 ` adding field into conntrack Rusty Russell
2004-08-01 17:19 ` Harald Welte
2004-08-02 8:12 ` sandr8
2004-08-02 8:46 ` Harald Welte [this message]
2004-08-05 16:33 ` [patch] " sandr8
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=20040802084602.GJ18758@sunbeam2 \
--to=laforge@netfilter.org \
--cc=netfilter-devel@lists.netfilter.org \
--cc=rusty@rustcorp.com.au \
--cc=sandr8@crocetta.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.