netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Dumazet <dada1@cosmosbay.com>
To: Chris Friesen <cfriesen@nortel.com>
Cc: Ray Lee <ray-lk@madrabbit.org>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: questions on NAPI processing latency and dropped network packets
Date: Mon, 14 Jan 2008 20:33:24 +0100	[thread overview]
Message-ID: <478BB904.3060903@cosmosbay.com> (raw)
In-Reply-To: <478BB722.1020004@nortel.com>

Chris Friesen a écrit :
> Eric Dumazet wrote:
>> Chris Friesen a écrit :
>
>>> Based on profiling and instrumentation it seems like the cost of 
>>> sctp_endpoint_lookup_assoc() more than triples, which means that the 
>>> amount of time that bottom halves are disabled in that function also 
>>> triples.
>>
>> Any idea of the size of sctp hash size you have ?
>> (your dmesg probably includes a message starting with SCTP: Hash 
>> tables configured...
>> How many concurrent sctp sockets are handled ?
>
> Our lab is currently rebooting, but I'll try and get this once it's 
> back up.
>
>> Maybe sctp_assoc_hashfn() is too weak for your use, and some chains 
>> are *really* long.
>
> Based on the profiling information we're spending time in 
> sctp_endpoint_lookup_assoc() which doesn't actually use hashes, so I 
> can't see how the hash would be related.  I'm pretty new to SCTP 
> though, so I may be missing something.
Well, it does use hashes :)

        hash = sctp_assoc_hashfn(ep->base.bind_addr.port, rport);
        head = &sctp_assoc_hashtable[hash];
        read_lock(&head->lock);
        sctp_for_each_hentry(epb, node, &head->chain) {
            /* maybe your machine is traversing here a *really* long 
chain */
            }

>
> Here's the top results from readprofile, unfortunately these are 
> aggregated across both cpus so they don't really show what's going on. 
> The key thing is that sctp_endpoint_lookup_assoc() is the most 
> expensive kernel routine on this entire system.
>
>   3147 .power4_idle                              22.4786
>   1712 .native_idle                              20.3810
>   1234 .sctp_endpoint_lookup_assoc                2.1725

>   1212 ._spin_unlock_irqrestore                   6.4468
>    778 .do_futex                                  0.3791
>    447 ._spin_unlock_irq                          4.2981
>    313 .fget                                      1.7784
>    277 .fput                                      3.8472
>    275 .kfree                                     0.7473
>    234 .__kmalloc                                 0.5571
>    131 SystemCall_common                          0.3411
>    130 .sctp_assoc_is_match                       0.6373
>    123 .lock_sock                                 0.4155
>    119 .find_vma                                  0.6919
>    116 .kmem_cache_alloc                          0.3580
>    111 .kmem_cache_free                           0.3343
>    106 .skb_release_data                          0.4907
>    102 .__copy_tofrom_user                        0.0724
>    100 .exit_elf_binfmt                           1.9231
>    100 .do_select                                 0.0820
>
>
> Chris
> -- 
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>





  reply	other threads:[~2008-01-14 19:33 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-10 17:24 questions on NAPI processing latency and dropped network packets Chris Friesen
2008-01-10 17:37 ` Kok, Auke
2008-01-10 18:12   ` Chris Friesen
2008-01-10 18:26     ` Kok, Auke
2008-01-10 18:25 ` James Chapman
2008-01-10 21:29   ` Chris Friesen
2008-01-10 18:41 ` Rick Jones
2008-01-10 19:01   ` Kok, Auke
2008-01-11  1:20 ` David Miller
2008-01-11 14:59   ` Chris Friesen
2008-01-11 22:29     ` Herbert Xu
2008-01-12  1:53     ` David Miller
2008-01-14 15:58       ` Chris Friesen
2008-01-15  7:19         ` Jarek Poplawski
2008-01-15 14:47           ` Chris Friesen
2008-01-15 15:17             ` Radoslaw Szkodzinski
2008-01-15 17:14               ` Chris Friesen
2008-01-15 17:23                 ` Eric Dumazet
2008-01-15 20:29             ` Jarek Poplawski
2008-01-16  0:17               ` Herbert Xu
2008-01-16  6:58                 ` Jarek Poplawski
2008-01-16 20:04                   ` Willy Tarreau
2008-01-16 22:42                     ` Jarek Poplawski
2008-01-12  5:37 ` Ray Lee
2008-01-14 15:49   ` Chris Friesen
2008-01-14 16:56     ` Eric Dumazet
2008-01-14 19:25       ` Chris Friesen
2008-01-14 19:33         ` Eric Dumazet [this message]
2008-01-14 20:02           ` Chris Friesen
2008-01-15 15:09             ` Vlad Yasevich
2008-01-21 19:53 ` Chris Friesen
2008-01-21 21:11   ` Ben Greear
2008-01-21 23:15     ` Chris Friesen
2008-01-21 23:32       ` Ben Greear
2008-01-21 21:31   ` Eric Dumazet
2008-01-21 23:25     ` Chris Friesen
2008-01-22  5:46       ` Eric Dumazet

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=478BB904.3060903@cosmosbay.com \
    --to=dada1@cosmosbay.com \
    --cc=cfriesen@nortel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=ray-lk@madrabbit.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).