Re: Conntrack Events Performance - Multipart Messages?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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: oprep_symb_cg5.txt.tar.gz
Description: GNU Zip compressed data


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux