All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabian Hugelshofer <hugelshofer2006@gmx.ch>
To: Patrick McHardy <kaber@trash.net>
Cc: Pablo Neira Ayuso <pablo@netfilter.org>, netfilter-devel@vger.kernel.org
Subject: Re: Conntrack Events Performance - Multipart Messages?
Date: Mon, 21 Jul 2008 18:49:11 +0100	[thread overview]
Message-ID: <4884CC17.3020905@gmx.ch> (raw)
In-Reply-To: <4884B270.5010104@trash.net>

[-- Attachment #1: Type: text/plain, Size: 2100 bytes --]

Patrick McHardy wrote:
> Fabian Hugelshofer wrote:
>> opreport --symbols (first 20, full file attached):
>> CPU: ARM/XScale PMU2, speed 0 MHz (estimated)
>> Counted CPU_CYCLES events (clock cycles counter) with a unit mask of 
>> 0x00 (No unit mask) count 100000
>> samples  %        app name                 symbol name
>> 20018     9.6520  vmlinux                  memcpy
> 
> Callgraph information would be useful since its unclear whether
> this is the memcpy triggered by netlink message trimming in
> af_netlink.c or something different. Unfortunately according
> to the documentation this is only supported on x86. I think
> selecting the netfilter options as modules should provide
> slightly more detail though.

Callgraphs work also with ARM. I had to enable callgraph already for 
capturing, which I did not before. I collected a deepness of 5 levels. 
You find the result attached to this email. For help on interpreting read:
http://oprofile.sourceforge.net/doc/opreport.html#opreport-callgraph
It basically shows the same list as before (unindented) with callers on 
top and callees below.

memcpy is mostly invoked by skb_copy and netlink_broadcast (af_netlink). 
netlink_broadcast is expensive on its own and calls pskb_expand_head 
which is expensive as well. Using multipart messages would reduce the 
need to call netlink_broadcast.

>> 19493     9.3988  ath_pci.ko               ath_sysctl_register
> 
> This looks odd. I couldn't find this function in the current
> kernel tree, which version are you using?

I am using 2.6.24.2. ath_pci is from the Madwifi drivers. The test setup 
is all wireless.

>> 4091      1.9725  vmlinux                  csum_partial
> 
> You can disable conntrack checksumming by executing:
> 
> echo 0 >/proc/sys/net/netfilter/nf_conntrack_checksum

I don't think that this has a significant impact. As I wrote it is 
possible to capture all packets (same traffic) with ULOG, parse the 
headers, do lookups and the counting without problems. For this 
checksumming is enabled as well. The problems only start if I enable 
connection events capturing.

[-- Attachment #2: oprep_symb_cg5.txt.tar.gz --]
[-- Type: application/x-gzip, Size: 32505 bytes --]

  reply	other threads:[~2008-07-21 17:49 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-16 16:42 Conntrack Events Performance - Multipart Messages? Fabian Hugelshofer
2008-07-17  9:16 ` Patrick McHardy
2008-07-17 10:03 ` Pablo Neira Ayuso
2008-07-17 14:34   ` Fabian Hugelshofer
2008-07-17 15:15     ` Fabian Hugelshofer
2008-07-18 15:56     ` Fabian Hugelshofer
2008-07-18  2:11   ` Patrick McHardy
2008-07-21 15:51     ` Fabian Hugelshofer
2008-07-21 15:59       ` Patrick McHardy
2008-07-21 17:49         ` Fabian Hugelshofer [this message]
2008-07-23 14:32           ` Fabian Hugelshofer
2008-07-23 14:38             ` Patrick McHardy
2008-07-23 16:12               ` Fabian Hugelshofer
2008-07-23 17:01                 ` Patrick McHardy
2008-07-23 17:07                   ` Patrick McHardy
2008-07-23 17:30                     ` Fabian Hugelshofer
2008-07-23 17:32                       ` Patrick McHardy
2008-07-23 17:38                         ` Fabian Hugelshofer
2008-07-23 17:40                           ` Patrick McHardy
2008-07-23 17:15                   ` Fabian Hugelshofer
2008-07-23 17:20                     ` Patrick McHardy
2008-07-24 13:21                       ` Fabian Hugelshofer
2008-07-25  8:51                         ` Fabian Hugelshofer
2008-07-25  9:32                         ` Pablo Neira Ayuso
2008-07-25 11:15                           ` Pablo Neira Ayuso
2008-07-27 17:23                             ` Fabian Hugelshofer
2008-07-28 18:31                             ` Pablo Neira Ayuso
2008-07-28 23:12                               ` Fabian Hugelshofer
2008-07-29 17:11                                 ` Pablo Neira Ayuso
2008-07-25  8:44                 ` Fabian Hugelshofer

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=4884CC17.3020905@gmx.ch \
    --to=hugelshofer2006@gmx.ch \
    --cc=kaber@trash.net \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=pablo@netfilter.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.