From: Andrew Morton <akpm@linux-foundation.org>
To: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Cc: Christoph Lameter <clameter@sgi.com>,
Kay Sievers <kay.sievers@vrfy.org>,
Greg Kroah-Hartman <gregkh@suse.de>,
LKML <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>
Subject: Re: hackbench regression since 2.6.25-rc
Date: Thu, 13 Mar 2008 02:52:44 -0700 [thread overview]
Message-ID: <20080313025244.f7accc31.akpm@linux-foundation.org> (raw)
In-Reply-To: <1205400538.3215.148.camel@ymzhang>
On Thu, 13 Mar 2008 17:28:58 +0800 "Zhang, Yanmin" <yanmin_zhang@linux.intel.com> wrote:
> On Thu, 2008-03-13 at 01:48 -0700, Andrew Morton wrote:
> > On Thu, 13 Mar 2008 15:46:57 +0800 "Zhang, Yanmin" <yanmin_zhang@linux.intel.com> wrote:
> >
> > > Comparing with 2.6.24, on my 16-core tigerton, hackbench process mode has about
> > > 40% regression with 2.6.25-rc1, and more than 20% regression with kernel
> > > 2.6.25-rc4, because rc4 includes the reverting patch of scheduler load balance.
> > >
> > > Command to start it.
> > > #hackbench 100 process 2000
> > > I ran it for 3 times and sum the values.
> > >
> > > I tried to investiagte it by bisect.
> > > Kernel up to tag 0f4dafc0563c6c49e17fe14b3f5f356e4c4b8806 has the 20% regression.
> > > Kernel up to tag 6e90aa972dda8ef86155eefcdbdc8d34165b9f39 hasn't regression.
> > >
> > > Any bisect between above 2 tags cause kernel hang. I tried to checkout to a point between
> > > these 2 tags for many times manually and kernel always paniced.
> > >
> > > All patches between the 2 tags are on kobject restructure. I guess such restructure
> > > creates more cache miss on the 16-core tigerton.
> > >
> >
> > That's pretty surprising - hackbench spends most of its time in userspace
> > and zeroing out anonymous pages.
> No. vmstat showed hackbench spends almost 100% in sys.
ah, I got confused about which test that is.
> > It shouldn't be fiddling with kobjects
> > much at all.
> >
> > Some kernel profiling might be needed here..
> Thanks for your kind reminder. I don't know why I forgot it.
>
> 2.6.24 oprofile data:
> CPU: Core 2, speed 1602 MHz (estimated)
> Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000
> samples % image name app name symbol name
> 40200494 43.3899 linux-2.6.24 linux-2.6.24 __slab_alloc
> 35338431 38.1421 linux-2.6.24 linux-2.6.24 add_partial_tail
> 2993156 3.2306 linux-2.6.24 linux-2.6.24 __slab_free
> 1365806 1.4742 linux-2.6.24 linux-2.6.24 sock_alloc_send_skb
> 1253820 1.3533 linux-2.6.24 linux-2.6.24 copy_user_generic_string
> 1141442 1.2320 linux-2.6.24 linux-2.6.24 unix_stream_recvmsg
> 846836 0.9140 linux-2.6.24 linux-2.6.24 unix_stream_sendmsg
> 777561 0.8393 linux-2.6.24 linux-2.6.24 kmem_cache_alloc
> 587127 0.6337 linux-2.6.24 linux-2.6.24 sock_def_readable
>
>
>
>
> 2.6.25-rc4 oprofile data:
> CPU: Core 2, speed 1602 MHz (estimated)
> Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000
> samples % image name app name symbol name
> 46746994 43.3801 linux-2.6.25-rc4 linux-2.6.25-rc4 __slab_alloc
> 45986635 42.6745 linux-2.6.25-rc4 linux-2.6.25-rc4 add_partial
> 2577578 2.3919 linux-2.6.25-rc4 linux-2.6.25-rc4 __slab_free
> 1301644 1.2079 linux-2.6.25-rc4 linux-2.6.25-rc4 sock_alloc_send_skb
> 1185888 1.1005 linux-2.6.25-rc4 linux-2.6.25-rc4 copy_user_generic_string
> 969847 0.9000 linux-2.6.25-rc4 linux-2.6.25-rc4 unix_stream_recvmsg
> 806665 0.7486 linux-2.6.25-rc4 linux-2.6.25-rc4 kmem_cache_alloc
> 731059 0.6784 linux-2.6.25-rc4 linux-2.6.25-rc4 unix_stream_sendmsg
>
So slub got a litle slower?
(Is slab any better?)
Still, I don't think there are any kobject operations in these codepaths
are there? Maybe some related to the network device, but I doubt it -
networking tends to go it alone on those things, mainly for performance
reasons.
next prev parent reply other threads:[~2008-03-13 9:53 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-13 7:46 hackbench regression since 2.6.25-rc Zhang, Yanmin
2008-03-13 8:48 ` Andrew Morton
2008-03-13 9:28 ` Zhang, Yanmin
2008-03-13 9:52 ` Andrew Morton [this message]
2008-03-14 0:16 ` Christoph Lameter
2008-03-14 3:04 ` Zhang, Yanmin
2008-03-14 3:30 ` Zhang, Yanmin
2008-03-14 5:28 ` Zhang, Yanmin
2008-03-14 6:39 ` Christoph Lameter
2008-03-14 7:29 ` Zhang, Yanmin
2008-03-14 21:05 ` Christoph Lameter
2008-03-14 6:34 ` Christoph Lameter
2008-03-14 7:23 ` Zhang, Yanmin
2008-03-14 21:06 ` Christoph Lameter
2008-03-17 7:50 ` Zhang, Yanmin
2008-03-17 17:32 ` Christoph Lameter
2008-03-18 3:28 ` Zhang, Yanmin
2008-03-18 4:07 ` Christoph Lameter
2008-03-14 6:32 ` Christoph Lameter
2008-03-14 7:14 ` Zhang, Yanmin
2008-03-14 21:08 ` Christoph Lameter
2008-03-15 0:15 ` Christoph Lameter
2008-03-17 3:35 ` Zhang, Yanmin
2008-03-17 17:27 ` Christoph Lameter
2008-03-17 3:05 ` Zhang, Yanmin
2008-03-13 15:14 ` Greg KH
2008-03-13 16:19 ` Randy Dunlap
2008-03-13 17:12 ` Greg KH
2008-03-14 0:50 ` Zhang, Yanmin
2008-03-14 5:01 ` Greg KH
2008-03-14 5:32 ` Zhang, Yanmin
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=20080313025244.f7accc31.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=clameter@sgi.com \
--cc=gregkh@suse.de \
--cc=kay.sievers@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=yanmin_zhang@linux.intel.com \
/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.