public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Hansen <haveblue@us.ibm.com>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: "Martin J. Bligh" <mbligh@aracnet.com>, Gerrit Huizenga <gh@us.ibm.com>
Subject: Horrible L2 cache effects from kernel compile
Date: Mon, 24 Feb 2003 16:41:37 -0800	[thread overview]
Message-ID: <3E5ABBC1.8050203@us.ibm.com> (raw)

I was testing Martin Bligh's kernbench (a kernel compile with
-j(2*NR_CPUS)) and using DCU_MISS_OUTSTANDING as the counter event.

The surprising thing?  d_lookup() accounts for 8% of the time spent
waiting for an L2 miss.

__copy_to_user_ll should be trashing a lot of cachelines, but d_lookup()
is strange.

Counter 0 counted DCU_MISS_OUTSTANDING events (number of cycles while
DCU miss outstanding) with a unit mask of 0x00 (Not set) count 10000
c017d78c 72929    1.92175     start_this_handle
c0139b60 75317    1.98468     vm_enough_memory
c0138cd4 75367    1.986       do_no_page
c01ccae0 79475    2.09425     atomic_dec_and_lock
c0117320 80918    2.13227     scheduler_tick
c0176338 90851    2.39402     ext3_dirty_inode
c013cc38 132228   3.48434     page_remove_rmap
c0176557 148116   3.90301     .text.lock.inode
c013cae0 156345   4.11985     page_add_rmap
c012c964 157716   4.15598     find_get_page
c015797c 314165   8.27857     d_lookup
c01cc948 334779   8.82177     __copy_to_user_ll

a snippet from d_lookup(), annotated.  I've seen oprofile be off by a
line here, but we can be pretty sure it is in this area.
		...
		smp_read_barrier_depends();
		/* 106 0.002793% */
		dentry = list_entry(tmp, struct dentry, d_hash);

		/* if lookup ends up in a different bucket
		 * due to concurrent rename, fail it
		 */
		/* 154991 4.084% */
		if (unlikely(dentry->d_bucket != head))
			break;

		/* to avoid race if dentry keep coming back to original
		 * bucket due to double moves
		 */
		/* 634 0.01671% */
		if (unlikely(++lookup_count > max_dentries))
			break;
		...

-- 
Dave Hansen
haveblue@us.ibm.com


             reply	other threads:[~2003-02-25  0:32 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-25  0:41 Dave Hansen [this message]
2003-02-25  0:59 ` Horrible L2 cache effects from kernel compile William Lee Irwin III
2003-02-25  1:01   ` Dave Hansen
2003-02-25  3:15   ` John Levon
2003-02-25  3:15     ` William Lee Irwin III
2003-02-25  3:35     ` Andrew Morton
2003-02-25  4:13       ` Martin J. Bligh
2003-02-25 11:57         ` John Levon
2003-02-25  2:31 ` Linus Torvalds
2003-02-25 17:05   ` John W. M. Stevens
     [not found] <3E5ABBC1.8050203@us.ibm.com.suse.lists.linux.kernel>
2003-02-25 16:16 ` Andi Kleen
2003-02-27  3:24   ` Dave Hansen
2003-02-27 16:36   ` Jan Harkes
     [not found] ` <b3ekil$1cp$1@penguin.transmeta.com.suse.lists.linux.kernel>
     [not found]   ` <20030225170546.GA23772@morningstar.nowhere.lie.suse.lists.linux.kernel>
2003-02-25 17:20     ` Andi Kleen
2003-02-26 18:22       ` Jamie Lokier
  -- strict thread matches above, loose matches on Subject: below --
2003-02-25 18:37 Manfred Spraul
2003-02-25 18:41 ` Dave Hansen
2003-02-25 18:42 ` Andi Kleen
2003-02-25 19:29 ` Martin J. Bligh
2003-02-25 22:18 ` Linus Torvalds
2003-03-03 19:03   ` Benjamin LaHaise
2003-03-03 19:13     ` Linus Torvalds
2003-03-03 23:58       ` Alan Cox
2003-03-03 22:57         ` Andrew Morton
2003-03-03 23:01         ` Benjamin LaHaise
2003-03-03 23:09         ` Linus Torvalds
2003-03-05 20:19         ` dean gaudet

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=3E5ABBC1.8050203@us.ibm.com \
    --to=haveblue@us.ibm.com \
    --cc=gh@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@aracnet.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox