[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <kh786e$r70$1@ger.gmane.org>
Date: Wed, 6 Mar 2013 11:10:06 +0000 (UTC)
From: Cong Wang <xiyou.wangcong@...il.com>
To: netdev@...r.kernel.org
Subject: Re: Spinlock spinning in __inet_hash_connect
On Wed, 06 Mar 2013 at 09:52 GMT, Johannes Rudolph <johannes.rudolph@...glemail.com> wrote:
> Hello all,
>
> I hope I'm on the correct mailing list for raising this issue. We are
> seeing an issue while running a load test with jmeter against a web
> server [1]. The test suite uses 50 threads to connect to a localhost
> web server, runs one http request per connection and then loops. What
> happens is that after the test runs for about 10 seconds (~ 100000
> connections established / closed) the CPU load goes up and connection
> rates slow down massively (see [1] for a chart). With `perf top` I'm
> observing this on the _client_ side:
>
> 41.39% [kernel] [k] __ticket_spin_lock
> 16.83% [kernel] [k]
> __inet_check_established
> 12.50% [kernel] [k] __inet_hash_connect
> 4.35% [kernel] [k] __ticket_spin_unlock
>
It seems both IPv6 and IPv4 call paths contest for spin_lock(&head->lock),
so I am just wondering if we could use RCU to protect the iteration of
inet_bind_bucket_for_each().
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists