[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+icZUWtEHy3CLadSQBKT5++UOxJuV-uxFf=UdAZLqysfourzw@mail.gmail.com>
Date: Fri, 30 Aug 2013 19:11:26 +0200
From: Sedat Dilek <sedat.dilek@...il.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Waiman Long <waiman.long@...com>, Ingo Molnar <mingo@...nel.org>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
Jeff Layton <jlayton@...hat.com>,
Miklos Szeredi <mszeredi@...e.cz>,
Ingo Molnar <mingo@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Peter Zijlstra <peterz@...radead.org>,
Steven Rostedt <rostedt@...dmis.org>,
Andi Kleen <andi@...stfloor.org>,
"Chandramouleeswaran, Aswin" <aswin@...com>,
"Norton, Scott J" <scott.norton@...com>
Subject: Re: [PATCH v7 1/4] spinlock: A new lockref structure for lockless
update of refcount
On Fri, Aug 30, 2013 at 6:52 PM, Linus Torvalds
<torvalds@...ux-foundation.org> wrote:
> On Fri, Aug 30, 2013 at 9:37 AM, Sedat Dilek <sedat.dilek@...il.com> wrote:
>>
>> Where is this a.out file from or how to generate it?
>
> Oh, that's just the silly threaded test-binary. I don't know what you
> called it.
>
> As to your config options, yesh, you have some expensive stuff.
> DEBUG_OBJECTS and DEBUG_MUTEXES in particular tend to cause lots of
> horrible performance issues. I didn't check if there might be other
> things..
>
There is no -f option for record but for report, so I swapped them:
$ sudo ~/src/linux-kernel/linux/tools/perf/perf record -e cycles:pp
./scripts/t_lockref_from-linus
Total loops: 2240273
[ perf record: Woken up 25 times to write data ]
[ perf record: Captured and wrote 6.080 MB perf.data (~265641 samples) ]
$ sudo ~/src/linux-kernel/linux/tools/perf/perf report -f
Samples: 159K of event 'cycles:pp', Event count (approx.): 76535356682
84,10% t_lockref_from- [kernel.kallsyms] [k] check_poison_obj
5,22% t_lockref_from- [kernel.kallsyms] [k] memset
1,15% t_lockref_from- [kernel.kallsyms] [k] irq_return
0,45% t_lockref_from- [kernel.kallsyms] [k] kmem_cache_alloc
0,44% t_lockref_from- [kernel.kallsyms] [k] kmem_cache_free
0,36% t_lockref_from- [kernel.kallsyms] [k] __ticket_spin_lock
0,35% t_lockref_from- [kernel.kallsyms] [k] cache_free_debugcheck
0,35% t_lockref_from- [kernel.kallsyms] [k] __acct_update_integrals
0,34% t_lockref_from- [kernel.kallsyms] [k] user_exit
0,33% t_lockref_from- [kernel.kallsyms] [k] __d_lookup_rcu
0,26% t_lockref_from- libc-2.15.so [.] __xstat64
0,25% t_lockref_from- [kernel.kallsyms] [k] poison_obj
0,24% t_lockref_from- [kernel.kallsyms] [k] local_clock
0,19% t_lockref_from- [kernel.kallsyms] [k] lockref_get_or_lock
0,19% t_lockref_from- [kernel.kallsyms] [k] link_path_walk
0,19% t_lockref_from- [kernel.kallsyms] [k] rcu_eqs_enter_common.isra.43
0,19% t_lockref_from- [kernel.kallsyms] [k] rcu_eqs_exit_common.isra.41
0,17% t_lockref_from- [kernel.kallsyms] [k] native_read_tsc
0,17% t_lockref_from- [kernel.kallsyms] [k] user_enter
0,16% t_lockref_from- [kernel.kallsyms] [k] sched_clock_cpu
0,16% t_lockref_from- [kernel.kallsyms] [k] path_lookupat
0,14% t_lockref_from- [kernel.kallsyms] [k] vfs_getattr
0,14% t_lockref_from- [kernel.kallsyms] [k] lockref_put_or_lock
0,14% t_lockref_from- [kernel.kallsyms] [k] path_init
0,13% t_lockref_from- [kernel.kallsyms] [k] tracesys
0,13% t_lockref_from- [kernel.kallsyms] [k] native_sched_clock
0,13% t_lockref_from- [kernel.kallsyms] [k] strncpy_from_user
0,12% t_lockref_from- [kernel.kallsyms] [k] cp_new_stat
0,12% t_lockref_from- [kernel.kallsyms] [k]
cache_alloc_debugcheck_after.isra.61
0,12% t_lockref_from- [kernel.kallsyms] [k] account_system_time
0,12% t_lockref_from- [kernel.kallsyms] [k] copy_user_generic_unrolled
0,12% t_lockref_from- [kernel.kallsyms] [k] syscall_trace_enter
0,12% t_lockref_from- [kernel.kallsyms] [k] jiffies_to_timeval
0,11% t_lockref_from- [kernel.kallsyms] [k] get_vtime_delta
0,11% t_lockref_from- t_lockref_from-linus [.] __stat
0,10% t_lockref_from- [kernel.kallsyms] [k] check_irq_off
0,10% t_lockref_from- [kernel.kallsyms] [k] common_perm
0,10% t_lockref_from- [kernel.kallsyms] [k] lookup_fast
0,09% t_lockref_from- [kernel.kallsyms] [k] getname_flags
0,09% t_lockref_from- [kernel.kallsyms] [k] syscall_trace_leave
0,08% t_lockref_from- t_lockref_from-linus [.] start_routine
0,08% t_lockref_from- [kernel.kallsyms] [k] vfs_fstatat
0,08% t_lockref_from- [kernel.kallsyms] [k] system_call_after_swapgs
0,08% t_lockref_from- [kernel.kallsyms] [k] user_path_at_empty
0,08% t_lockref_from- [kernel.kallsyms] [k] account_user_time
0,07% t_lockref_from- [kernel.kallsyms] [k] generic_fillattr
0,07% t_lockref_from- [kernel.kallsyms] [k] complete_walk
0,06% t_lockref_from- [kernel.kallsyms] [k] security_inode_getattr
0,06% t_lockref_from- [kernel.kallsyms] [k] _raw_spin_lock
0,06% t_lockref_from- [kernel.kallsyms] [k] rcu_eqs_exit
0,06% t_lockref_from- [kernel.kallsyms] [k] vtime_account_user
0,06% t_lockref_from- [kernel.kallsyms] [k] dput
0,06% t_lockref_from- [kernel.kallsyms] [k] rcu_eqs_enter
0,06% t_lockref_from- [kernel.kallsyms] [k] __virt_addr_valid
- Sedat -
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists