Re: [PATCH v7 1/4] spinlock: A new lockref structure for lockless update of refcount

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 30, 2013 at 6:52 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, Aug 30, 2013 at 9:37 AM, Sedat Dilek <sedat.dilek@xxxxxxxxx> 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-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux