lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 05 May 2012 09:12:57 +0200
From:	Mike Galbraith <efault@....de>
To:	"Eric W. Biederman" <ebiederm@...ssion.com>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	Oleg Nesterov <oleg@...hat.com>,
	LKML <linux-kernel@...r.kernel.org>,
	Pavel Emelyanov <xemul@...allels.com>,
	Cyrill Gorcunov <gorcunov@...nvz.org>,
	Louis Rilling <louis.rilling@...labs.com>,
	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Subject: Re: [PATCH]  Re: [RFC PATCH] namespaces: fix leak on fork() failure

On Sat, 2012-05-05 at 08:08 +0200, Mike Galbraith wrote:

> egrep 'synchronize|rcu_barrier' /trace 
> 
>           vsftpd-7981  [003] ....   577.164997: synchronize_sched <-switch_task_namespaces
>           vsftpd-7981  [003] ....   577.164998: _cond_resched <-synchronize_sched
>           vsftpd-7981  [003] ....   577.164998: wait_rcu_gp <-synchronize_sched
>           vsftpd-7982  [003] ....   577.166583: synchronize_sched <-switch_task_namespaces
>           vsftpd-7982  [003] ....   577.166583: _cond_resched <-synchronize_sched

> vsftpd-7977  [003] ....   577.171519: rcu_barrier_sched <-rcu_barrier
>           vsftpd-7977  [003] ....   577.171519: _rcu_barrier.isra.31 <-rcu_barrier_sched
>           vsftpd-7977  [003] ....   577.171519: mutex_lock <-_rcu_barrier.isra.31
>           vsftpd-7977  [003] ....   577.171520: __init_waitqueue_head <-_rcu_barrier.isra.31
>           vsftpd-7977  [003] ....   577.171520: on_each_cpu <-_rcu_barrier.isra.31
>           vsftpd-7977  [003] d...   577.171532: rcu_barrier_func <-on_each_cpu
>           vsftpd-7977  [003] d...   577.171532: call_rcu_sched <-rcu_barrier_func
>           vsftpd-7977  [003] ....   577.171533: wait_for_completion <-_rcu_barrier.isra.31
>      ksoftirqd/3-16    [003] ..s.   577.171691: rcu_barrier_callback <-__rcu_process_callbacks
>           vsftpd-7977  [003] ....   577.176443: mutex_unlock <-_rcu_barrier.isra.31
...

Ok, so CLONE_NEWPID | SIGCHLD + waitpid is a bad idea given extreme
unmount synchronization, but why does it take four softirqs?  Seems this
could have gone a lot faster. 

          vsftpd-7977  [003] ....   577.192773: do_wait <-sys_wait4
          vsftpd-7977  [003] ....   577.192773: add_wait_queue <-do_wait
          vsftpd-7977  [003] ....   577.192773: _raw_spin_lock_irqsave <-add_wait_queue
          vsftpd-7977  [003] d...   577.192773: _raw_spin_unlock_irqrestore <-add_wait_queue
          vsftpd-7977  [003] ....   577.192774: _raw_read_lock <-do_wait
          vsftpd-7977  [003] ....   577.192774: wait_consider_task <-do_wait
          vsftpd-7977  [003] ....   577.192774: __task_pid_nr_ns <-wait_consider_task
          vsftpd-7977  [003] ....   577.192774: pid_nr_ns <-__task_pid_nr_ns
          vsftpd-7977  [003] ....   577.192774: thread_group_times <-wait_consider_task
          vsftpd-7977  [003] ....   577.192775: thread_group_cputime <-thread_group_times
          vsftpd-7977  [003] ....   577.192775: task_sched_runtime <-thread_group_cputime
          vsftpd-7977  [003] ....   577.192775: task_rq_lock <-task_sched_runtime
          vsftpd-7977  [003] ....   577.192775: _raw_spin_lock_irqsave <-task_rq_lock
          vsftpd-7977  [003] d...   577.192775: _raw_spin_lock <-task_rq_lock
          vsftpd-7977  [003] d...   577.192776: _raw_spin_unlock_irqrestore <-task_sched_runtime
          vsftpd-7977  [003] ....   577.192776: nsecs_to_jiffies <-thread_group_times
          vsftpd-7977  [003] ....   577.192776: _raw_spin_lock_irq <-wait_consider_task
          vsftpd-7977  [003] ....   577.192776: release_task <-wait_consider_task
          vsftpd-7977  [003] ....   577.192776: proc_flush_task <-release_task
          vsftpd-7977  [003] ....   577.192777: d_hash_and_lookup <-proc_flush_task
          vsftpd-7977  [003] ....   577.192777: full_name_hash <-d_hash_and_lookup
          vsftpd-7977  [003] ....   577.192777: d_lookup <-d_hash_and_lookup
          vsftpd-7977  [003] ....   577.192777: __d_lookup <-d_lookup
          vsftpd-7977  [003] ....   577.192778: d_hash_and_lookup <-proc_flush_task
          vsftpd-7977  [003] ....   577.192778: full_name_hash <-d_hash_and_lookup
          vsftpd-7977  [003] ....   577.192778: d_lookup <-d_hash_and_lookup
          vsftpd-7977  [003] ....   577.192778: __d_lookup <-d_lookup
          vsftpd-7977  [003] ....   577.192779: d_hash_and_lookup <-proc_flush_task
          vsftpd-7977  [003] ....   577.192779: full_name_hash <-d_hash_and_lookup
          vsftpd-7977  [003] ....   577.192779: d_lookup <-d_hash_and_lookup
          vsftpd-7977  [003] ....   577.192780: __d_lookup <-d_lookup
          vsftpd-7977  [003] ....   577.192780: d_hash_and_lookup <-proc_flush_task
          vsftpd-7977  [003] ....   577.192780: full_name_hash <-d_hash_and_lookup
          vsftpd-7977  [003] ....   577.192780: d_lookup <-d_hash_and_lookup
          vsftpd-7977  [003] ....   577.192780: __d_lookup <-d_lookup
          vsftpd-7977  [003] ....   577.192781: pid_ns_release_proc <-proc_flush_task
          vsftpd-7977  [003] ....   577.192781: kern_unmount <-pid_ns_release_proc
          vsftpd-7977  [003] ....   577.192781: mnt_make_shortterm <-kern_unmount
          vsftpd-7977  [003] ....   577.192781: vfsmount_lock_global_lock_online <-mnt_make_shortterm
          vsftpd-7977  [003] ....   577.192781: _raw_spin_lock <-vfsmount_lock_global_lock_online
          vsftpd-7977  [003] ....   577.192782: vfsmount_lock_global_unlock_online <-mnt_make_shortterm
          vsftpd-7977  [003] ....   577.192782: mntput <-kern_unmount
          vsftpd-7977  [003] ....   577.192782: mntput_no_expire <-mntput
          vsftpd-7977  [003] ....   577.192782: vfsmount_lock_local_lock <-mntput_no_expire
          vsftpd-7977  [003] ....   577.192782: vfsmount_lock_global_lock_online <-mntput_no_expire
          vsftpd-7977  [003] ....   577.192783: _raw_spin_lock <-vfsmount_lock_global_lock_online
          vsftpd-7977  [003] ....   577.192783: mnt_get_count <-mntput_no_expire
          vsftpd-7977  [003] ....   577.192783: vfsmount_lock_global_unlock_online <-mntput_no_expire
          vsftpd-7977  [003] ....   577.192784: mnt_get_writers.isra.12 <-mntput_no_expire
          vsftpd-7977  [003] ....   577.192784: __fsnotify_vfsmount_delete <-mntput_no_expire
          vsftpd-7977  [003] ....   577.192784: fsnotify_clear_marks_by_mount <-__fsnotify_vfsmount_delete
          vsftpd-7977  [003] ....   577.192784: _raw_spin_lock <-fsnotify_clear_marks_by_mount
          vsftpd-7977  [003] ....   577.192784: dput <-mntput_no_expire
          vsftpd-7977  [003] ....   577.192784: _raw_spin_lock <-dput
          vsftpd-7977  [003] ....   577.192785: free_vfsmnt <-mntput_no_expire
          vsftpd-7977  [003] ....   577.192785: kfree <-free_vfsmnt
          vsftpd-7977  [003] ....   577.192785: __phys_addr <-kfree
          vsftpd-7977  [003] ....   577.192785: __slab_free <-kfree
          vsftpd-7977  [003] ....   577.192785: free_debug_processing <-__slab_free
          vsftpd-7977  [003] d...   577.192786: check_slab <-free_debug_processing
          vsftpd-7977  [003] d...   577.192786: slab_pad_check.part.42 <-check_slab
          vsftpd-7977  [003] d...   577.192786: on_freelist <-free_debug_processing
          vsftpd-7977  [003] d...   577.192786: check_object <-free_debug_processing
          vsftpd-7977  [003] d...   577.192787: check_bytes_and_report <-check_object
          vsftpd-7977  [003] d...   577.192787: check_bytes_and_report <-check_object
          vsftpd-7977  [003] d...   577.192787: set_track <-free_debug_processing
          vsftpd-7977  [003] d...   577.192787: dump_trace <-save_stack_trace
          vsftpd-7977  [003] d...   577.192788: print_context_stack <-dump_trace
          vsftpd-7977  [003] d...   577.192791: init_object <-free_debug_processing
          vsftpd-7977  [003] ....   577.192791: _raw_spin_lock_irqsave <-__slab_free
          vsftpd-7977  [003] d...   577.192791: _raw_spin_unlock_irqrestore <-__slab_free
          vsftpd-7977  [003] ....   577.192792: mnt_free_id.isra.20 <-free_vfsmnt
          vsftpd-7977  [003] ....   577.192792: _raw_spin_lock <-mnt_free_id.isra.20
          vsftpd-7977  [003] ....   577.192792: free_percpu <-free_vfsmnt
          vsftpd-7977  [003] ....   577.192792: _raw_spin_lock_irqsave <-free_percpu
          vsftpd-7977  [003] d...   577.192792: pcpu_free_area <-free_percpu
          vsftpd-7977  [003] d...   577.192793: pcpu_chunk_slot <-pcpu_free_area
          vsftpd-7977  [003] d...   577.192793: pcpu_chunk_relocate <-pcpu_free_area
          vsftpd-7977  [003] d...   577.192794: pcpu_chunk_slot <-pcpu_chunk_relocate
          vsftpd-7977  [003] d...   577.192794: _raw_spin_unlock_irqrestore <-free_percpu
          vsftpd-7977  [003] ....   577.192794: kmem_cache_free <-free_vfsmnt
          vsftpd-7977  [003] ....   577.192794: __phys_addr <-kmem_cache_free
          vsftpd-7977  [003] ....   577.192794: __slab_free <-kmem_cache_free
          vsftpd-7977  [003] ....   577.192794: free_debug_processing <-__slab_free
          vsftpd-7977  [003] d...   577.192795: check_slab <-free_debug_processing
          vsftpd-7977  [003] d...   577.192795: slab_pad_check.part.42 <-check_slab
          vsftpd-7977  [003] d...   577.192795: on_freelist <-free_debug_processing
          vsftpd-7977  [003] d...   577.192796: check_object <-free_debug_processing
          vsftpd-7977  [003] d...   577.192796: check_bytes_and_report <-check_object
          vsftpd-7977  [003] d...   577.192796: check_bytes_and_report <-check_object
          vsftpd-7977  [003] d...   577.192796: set_track <-free_debug_processing
          vsftpd-7977  [003] d...   577.192797: dump_trace <-save_stack_trace
          vsftpd-7977  [003] d...   577.192797: print_context_stack <-dump_trace
          vsftpd-7977  [003] d...   577.192800: init_object <-free_debug_processing
          vsftpd-7977  [003] ....   577.192800: deactivate_super <-mntput_no_expire
          vsftpd-7977  [003] ....   577.192800: down_write <-deactivate_super
          vsftpd-7977  [003] ....   577.192801: _cond_resched <-down_write
          vsftpd-7977  [003] ....   577.192801: deactivate_locked_super <-deactivate_super
          vsftpd-7977  [003] ....   577.192801: proc_kill_sb <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.192801: kill_anon_super <-proc_kill_sb
          vsftpd-7977  [003] ....   577.192801: generic_shutdown_super <-kill_anon_super
          vsftpd-7977  [003] ....   577.192802: shrink_dcache_for_umount <-generic_shutdown_super
          vsftpd-7977  [003] ....   577.192802: down_read_trylock <-shrink_dcache_for_umount
          vsftpd-7977  [003] ....   577.192802: shrink_dcache_for_umount_subtree <-shrink_dcache_for_umount
          vsftpd-7977  [003] ....   577.192802: dentry_lru_prune <-shrink_dcache_for_umount_subtree
          vsftpd-7977  [003] ....   577.192802: __d_shrink <-shrink_dcache_for_umount_subtree
          vsftpd-7977  [003] ....   577.192803: iput <-shrink_dcache_for_umount_subtree
          vsftpd-7977  [003] ....   577.192803: _raw_spin_lock <-_atomic_dec_and_lock
          vsftpd-7977  [003] ....   577.192803: generic_delete_inode <-iput
          vsftpd-7977  [003] ....   577.192803: evict <-iput
          vsftpd-7977  [003] ....   577.192804: _raw_spin_lock <-evict
          vsftpd-7977  [003] ....   577.192804: proc_evict_inode <-evict
          vsftpd-7977  [003] ....   577.192804: truncate_inode_pages <-proc_evict_inode
          vsftpd-7977  [003] ....   577.192804: truncate_inode_pages_range <-truncate_inode_pages
          vsftpd-7977  [003] ....   577.192804: end_writeback <-proc_evict_inode
          vsftpd-7977  [003] ....   577.192804: _cond_resched <-end_writeback
          vsftpd-7977  [003] ....   577.192805: _raw_spin_lock_irq <-end_writeback
          vsftpd-7977  [003] ....   577.192805: _cond_resched <-end_writeback
          vsftpd-7977  [003] ....   577.192805: put_pid <-proc_evict_inode
          vsftpd-7977  [003] ....   577.192805: put_pid: put_pid: NULL
          vsftpd-7977  [003] ....   577.192806: pde_put <-proc_evict_inode
          vsftpd-7977  [003] ....   577.192806: __remove_inode_hash <-evict
          vsftpd-7977  [003] ....   577.192806: _raw_spin_lock <-__remove_inode_hash
          vsftpd-7977  [003] ....   577.192806: _raw_spin_lock <-__remove_inode_hash
          vsftpd-7977  [003] ....   577.192806: _raw_spin_lock <-evict
          vsftpd-7977  [003] ....   577.192807: wake_up_bit <-evict
          vsftpd-7977  [003] ....   577.192807: bit_waitqueue <-wake_up_bit
          vsftpd-7977  [003] ....   577.192807: __phys_addr <-bit_waitqueue
          vsftpd-7977  [003] ....   577.192807: __wake_up_bit <-wake_up_bit
          vsftpd-7977  [003] ....   577.192807: destroy_inode <-evict
          vsftpd-7977  [003] ....   577.192807: __destroy_inode <-destroy_inode
          vsftpd-7977  [003] ....   577.192808: inode_has_buffers <-__destroy_inode
          vsftpd-7977  [003] ....   577.192808: __fsnotify_inode_delete <-__destroy_inode
          vsftpd-7977  [003] ....   577.192808: fsnotify_clear_marks_by_inode <-__fsnotify_inode_delete
          vsftpd-7977  [003] ....   577.192808: _raw_spin_lock <-fsnotify_clear_marks_by_inode
          vsftpd-7977  [003] ....   577.192808: proc_destroy_inode <-destroy_inode
          vsftpd-7977  [003] ....   577.192808: call_rcu_sched <-proc_destroy_inode
          vsftpd-7977  [003] ....   577.192809: __call_rcu <-call_rcu_sched
          vsftpd-7977  [003] ....   577.192809: d_free <-shrink_dcache_for_umount_subtree
          vsftpd-7977  [003] ....   577.192809: __d_free <-d_free
          vsftpd-7977  [003] ....   577.192809: kmem_cache_free <-__d_free
          vsftpd-7977  [003] ....   577.192809: __phys_addr <-kmem_cache_free
          vsftpd-7977  [003] ....   577.192810: __slab_free <-kmem_cache_free
          vsftpd-7977  [003] ....   577.192810: free_debug_processing <-__slab_free
          vsftpd-7977  [003] d...   577.192810: check_slab <-free_debug_processing
          vsftpd-7977  [003] d...   577.192811: slab_pad_check.part.42 <-check_slab
          vsftpd-7977  [003] d...   577.192811: on_freelist <-free_debug_processing
          vsftpd-7977  [003] d...   577.192812: check_object <-free_debug_processing
          vsftpd-7977  [003] d...   577.192812: check_bytes_and_report <-check_object
          vsftpd-7977  [003] d...   577.192812: check_bytes_and_report <-check_object
          vsftpd-7977  [003] d...   577.192812: set_track <-free_debug_processing
          vsftpd-7977  [003] d...   577.192813: dump_trace <-save_stack_trace
          vsftpd-7977  [003] d...   577.192813: print_context_stack <-dump_trace
          vsftpd-7977  [003] d...   577.192817: init_object <-free_debug_processing
          vsftpd-7977  [003] ....   577.192817: sync_filesystem <-generic_shutdown_super
          vsftpd-7977  [003] ....   577.192817: __sync_filesystem <-sync_filesystem
          vsftpd-7977  [003] ....   577.192818: __sync_filesystem <-sync_filesystem
          vsftpd-7977  [003] ....   577.192818: fsnotify_unmount_inodes <-generic_shutdown_super
          vsftpd-7977  [003] ....   577.192818: _raw_spin_lock <-fsnotify_unmount_inodes
          vsftpd-7977  [003] ....   577.192818: evict_inodes <-generic_shutdown_super
          vsftpd-7977  [003] ....   577.192818: _raw_spin_lock <-evict_inodes
          vsftpd-7977  [003] ....   577.192818: dispose_list <-evict_inodes
          vsftpd-7977  [003] ....   577.192819: _raw_spin_lock <-generic_shutdown_super
          vsftpd-7977  [003] ....   577.192819: up_write <-generic_shutdown_super
          vsftpd-7977  [003] ....   577.192819: free_anon_bdev <-kill_anon_super
          vsftpd-7977  [003] ....   577.192819: _raw_spin_lock <-free_anon_bdev
          vsftpd-7977  [003] ....   577.192820: proc_kill_sb: put_pid_ns: 0xffff8801dc56b990 count:2->1
          vsftpd-7977  [003] ....   577.192820: unregister_shrinker <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.192820: down_write <-unregister_shrinker
          vsftpd-7977  [003] ....   577.192820: _cond_resched <-down_write
          vsftpd-7977  [003] ....   577.192821: up_write <-unregister_shrinker
          vsftpd-7977  [003] ....   577.192821: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.192821: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.192821: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.192821: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.192821: _cond_resched <-mutex_lock
          vsftpd-7977  [003] ....   577.192822: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.192822: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.192822: smp_call_function <-on_each_cpu
          vsftpd-7977  [003] ....   577.192822: smp_call_function_many <-smp_call_function
          vsftpd-7977  [003] ....   577.192822: _raw_spin_lock_irqsave <-smp_call_function_many
          vsftpd-7977  [003] d...   577.192823: _raw_spin_unlock_irqrestore <-smp_call_function_many
          vsftpd-7977  [003] ....   577.192823: native_send_call_func_ipi <-smp_call_function_many
          vsftpd-7977  [003] ....   577.192823: flat_send_IPI_allbutself <-native_send_call_func_ipi
          vsftpd-7977  [003] d...   577.192832: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.192833: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] d...   577.192833: __call_rcu <-call_rcu_sched
          vsftpd-7977  [003] ....   577.192833: wait_for_completion <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.192833: wait_for_common <-wait_for_completion
          vsftpd-7977  [003] ....   577.192834: _cond_resched <-wait_for_common
          vsftpd-7977  [003] ....   577.192834: _raw_spin_lock_irq <-wait_for_common
          vsftpd-7977  [003] ....   577.192834: schedule_timeout <-wait_for_common
          vsftpd-7977  [003] ....   577.192834: schedule <-schedule_timeout
          vsftpd-7977  [003] ....   577.192834: __schedule <-schedule
          vsftpd-7977  [003] ....   577.192835: rcu_note_context_switch <-__schedule
          vsftpd-7977  [003] ....   577.192835: rcu_sched_qs <-rcu_note_context_switch
          vsftpd-7977  [003] ....   577.192835: _raw_spin_lock_irq <-__schedule
          vsftpd-7977  [003] d...   577.192835: deactivate_task <-__schedule
          vsftpd-7977  [003] d...   577.192835: dequeue_task <-deactivate_task
          vsftpd-7977  [003] d...   577.192835: update_rq_clock <-dequeue_task
          vsftpd-7977  [003] d...   577.192836: dequeue_task_fair <-dequeue_task
          vsftpd-7977  [003] d...   577.192836: update_curr <-dequeue_task_fair
          vsftpd-7977  [003] d...   577.192836: clear_buddies <-dequeue_task_fair
          vsftpd-7977  [003] d...   577.192836: hrtick_update <-dequeue_task_fair
          vsftpd-7977  [003] d...   577.192836: idle_balance <-__schedule
          vsftpd-7977  [003] d...   577.192837: _raw_spin_lock <-idle_balance
          vsftpd-7977  [003] d...   577.192837: put_prev_task_fair <-__schedule
          vsftpd-7977  [003] d...   577.192837: pick_next_task_fair <-__schedule
          vsftpd-7977  [003] d...   577.192837: pick_next_task_stop <-__schedule
          vsftpd-7977  [003] d...   577.192838: pick_next_task_rt <-__schedule
          vsftpd-7977  [003] d...   577.192838: pick_next_task_fair <-__schedule
          vsftpd-7977  [003] d...   577.192838: pick_next_task_idle <-__schedule
          vsftpd-7977  [003] d...   577.192838: calc_load_account_idle <-pick_next_task_idle
          <idle>-0     [003] d...   577.192839: finish_task_switch <-__schedule
          <idle>-0     [003] ....   577.192839: tick_nohz_idle_enter <-cpu_idle
          <idle>-0     [003] ....   577.192839: set_cpu_sd_state_idle <-tick_nohz_idle_enter
          <idle>-0     [003] d...   577.192839: tick_nohz_stop_sched_tick.isra.9 <-tick_nohz_idle_enter
          <idle>-0     [003] d...   577.192839: ktime_get <-tick_nohz_stop_sched_tick.isra.9
          <idle>-0     [003] ....   577.192840: local_touch_nmi <-cpu_idle
          <idle>-0     [003] d...   577.192840: enter_idle <-cpu_idle
...
          <idle>-0     [003] d...   577.192840: rcu_idle_enter <-cpu_idle
          <idle>-0     [003] d...   577.192841: rcu_idle_enter_common <-rcu_idle_enter
          <idle>-0     [003] d...   577.192841: rcu_cpu_has_callbacks <-rcu_idle_enter_common
          <idle>-0     [003] d...   577.192841: rcu_pending <-rcu_idle_enter_common
          <idle>-0     [003] d...   577.192841: __rcu_pending <-rcu_pending
          <idle>-0     [003] d...   577.192842: raise_softirq <-rcu_idle_enter_common
          <idle>-0     [003] d...   577.192842: __raise_softirq_irqoff <-raise_softirq
          <idle>-0     [003] d...   577.192842: wakeup_softirqd <-raise_softirq
          <idle>-0     [003] d...   577.192842: wake_up_process <-wakeup_softirqd
...
     ksoftirqd/3-16    [003] d...   577.192853: finish_task_switch <-__schedule
     ksoftirqd/3-16    [003] d...   577.192853: __do_softirq <-run_ksoftirqd
     ksoftirqd/3-16    [003] ..s.   577.192853: rcu_process_callbacks <-__do_softirq
     ksoftirqd/3-16    [003] ..s.   577.192853: __rcu_process_callbacks <-rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.192853: rcu_process_gp_end <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] d.s.   577.192854: _raw_spin_trylock <-rcu_process_gp_end
     ksoftirqd/3-16    [003] d.s.   577.192854: __rcu_process_gp_end.isra.5 <-rcu_process_gp_end
     ksoftirqd/3-16    [003] d.s.   577.192854: _raw_spin_unlock_irqrestore <-rcu_process_gp_end
     ksoftirqd/3-16    [003] ..s.   577.192855: check_for_new_grace_period <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] d.s.   577.192855: _raw_spin_trylock <-check_for_new_grace_period
     ksoftirqd/3-16    [003] d.s.   577.192855: __note_new_gpnum.isra.27 <-check_for_new_grace_period
     ksoftirqd/3-16    [003] d.s.   577.192855: _raw_spin_unlock_irqrestore <-check_for_new_grace_period
     ksoftirqd/3-16    [003] ..s.   577.192855: __rcu_process_callbacks <-rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.192855: force_quiescent_state <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.192856: rcu_process_gp_end <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.192856: check_for_new_grace_period <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.192856: rcu_bh_qs <-__do_softirq
     ksoftirqd/3-16    [003] d.s.   577.192856: __local_bh_enable <-__do_softirq
     ksoftirqd/3-16    [003] ....   577.192856: _cond_resched <-run_ksoftirqd
     ksoftirqd/3-16    [003] ....   577.192857: rcu_note_context_switch <-run_ksoftirqd
     ksoftirqd/3-16    [003] ....   577.192857: rcu_sched_qs <-rcu_note_context_switch
     ksoftirqd/3-16    [003] ....   577.192857: kthread_should_stop <-run_ksoftirqd
     ksoftirqd/3-16    [003] ....   577.192857: schedule_preempt_disabled <-run_ksoftirqd
     ksoftirqd/3-16    [003] ....   577.192857: schedule <-schedule_preempt_disabled
     ksoftirqd/3-16    [003] ....   577.192858: __schedule <-schedule
...
     ksoftirqd/3-16    [003] d...   577.192861: calc_load_account_idle <-pick_next_task_idle
          <idle>-0     [003] d...   577.192861: finish_task_switch <-__schedule
          <idle>-0     [003] ....   577.192862: tick_nohz_idle_enter <-cpu_idle
          <idle>-0     [003] ....   577.192862: set_cpu_sd_state_idle <-tick_nohz_idle_enter
          <idle>-0     [003] d...   577.192862: tick_nohz_stop_sched_tick.isra.9 <-tick_nohz_idle_enter
          <idle>-0     [003] d...   577.192862: ktime_get <-tick_nohz_stop_sched_tick.isra.9
          <idle>-0     [003] ....   577.192863: local_touch_nmi <-cpu_idle
          <idle>-0     [003] d...   577.192863: enter_idle <-cpu_idle
          <idle>-0     [003] d...   577.192863: atomic_notifier_call_chain <-enter_idle
          <idle>-0     [003] d...   577.192863: notifier_call_chain <-atomic_notifier_call_chain
          <idle>-0     [003] d...   577.192863: rcu_idle_enter <-cpu_idle
          <idle>-0     [003] d...   577.192863: rcu_idle_enter_common <-rcu_idle_enter
          <idle>-0     [003] d...   577.192864: rcu_cpu_has_callbacks <-rcu_idle_enter_common
          <idle>-0     [003] d...   577.192864: cpuidle_idle_call <-cpu_idle
          <idle>-0     [003] d...   577.192864: cpuidle_get_driver <-cpuidle_idle_call
          <idle>-0     [003] d...   577.192864: mwait_idle <-cpu_idle
          <idle>-0     [003] d...   577.196356: smp_apic_timer_interrupt <-apic_timer_interrupt
          <idle>-0     [003] d...   577.196356: native_apic_mem_write <-smp_apic_timer_interrupt
          <idle>-0     [003] d...   577.196357: irq_enter <-smp_apic_timer_interrupt
          <idle>-0     [003] d...   577.196357: rcu_irq_enter <-irq_enter
          <idle>-0     [003] d...   577.196357: rcu_idle_exit_common <-rcu_irq_enter
          <idle>-0     [003] d...   577.196357: hrtimer_cancel <-rcu_idle_exit_common
...
          <idle>-0     [003] d.h.   577.196366: update_process_times <-tick_sched_timer
          <idle>-0     [003] d.h.   577.196366: account_process_tick <-update_process_times
          <idle>-0     [003] d.h.   577.196367: run_local_timers <-update_process_times
          <idle>-0     [003] d.h.   577.196367: hrtimer_run_queues <-run_local_timers
          <idle>-0     [003] d.h.   577.196367: raise_softirq <-run_local_timers
          <idle>-0     [003] d.h.   577.196367: __raise_softirq_irqoff <-raise_softirq
          <idle>-0     [003] d.h.   577.196368: rcu_check_callbacks <-update_process_times
          <idle>-0     [003] d.h.   577.196368: rcu_sched_qs <-rcu_check_callbacks
          <idle>-0     [003] d.h.   577.196368: rcu_bh_qs <-rcu_check_callbacks
          <idle>-0     [003] d.h.   577.196369: rcu_pending <-rcu_check_callbacks
          <idle>-0     [003] d.h.   577.196369: __rcu_pending <-rcu_pending
          <idle>-0     [003] d.h.   577.196369: raise_softirq <-rcu_check_callbacks
          <idle>-0     [003] d.h.   577.196369: __raise_softirq_irqoff <-raise_softirq
...
          <idle>-0     [003] d...   577.196376: do_softirq <-irq_exit
          <idle>-0     [003] d...   577.196376: __do_softirq <-call_softirq
          <idle>-0     [003] ..s.   577.196376: run_timer_softirq <-__do_softirq
          <idle>-0     [003] ..s.   577.196377: hrtimer_run_pending <-run_timer_softirq
          <idle>-0     [003] ..s.   577.196377: _raw_spin_lock_irq <-run_timer_softirq
          <idle>-0     [003] ..s.   577.196377: rcu_bh_qs <-__do_softirq
          <idle>-0     [003] ..s.   577.196378: rcu_process_callbacks <-__do_softirq
          <idle>-0     [003] ..s.   577.196378: __rcu_process_callbacks <-rcu_process_callbacks
          <idle>-0     [003] ..s.   577.196378: rcu_process_gp_end <-__rcu_process_callbacks
          <idle>-0     [003] d.s.   577.196378: _raw_spin_trylock <-rcu_process_gp_end
          <idle>-0     [003] d.s.   577.196379: __rcu_process_gp_end.isra.5 <-rcu_process_gp_end
          <idle>-0     [003] d.s.   577.196379: _raw_spin_unlock_irqrestore <-rcu_process_gp_end
          <idle>-0     [003] ..s.   577.196379: check_for_new_grace_period <-__rcu_process_callbacks
          <idle>-0     [003] ..s.   577.196380: _raw_spin_lock_irqsave <-__rcu_process_callbacks
          <idle>-0     [003] d.s.   577.196380: rcu_start_gp <-__rcu_process_callbacks
...
          <idle>-0     [003] d...   577.196387: force_qs_rnp <-force_quiescent_state
          <idle>-0     [003] d...   577.196388: _raw_spin_lock_irqsave <-force_qs_rnp
          <idle>-0     [003] d...   577.196388: dyntick_save_progress_counter <-force_qs_rnp
          <idle>-0     [003] d...   577.196388: dyntick_save_progress_counter <-force_qs_rnp
          <idle>-0     [003] d...   577.196389: dyntick_save_progress_counter <-force_qs_rnp
          <idle>-0     [003] d...   577.196389: dyntick_save_progress_counter <-force_qs_rnp
          <idle>-0     [003] d...   577.196390: rcu_report_qs_rnp <-force_qs_rnp
          <idle>-0     [003] d...   577.196390: _raw_spin_unlock_irqrestore <-rcu_report_qs_rnp
          <idle>-0     [003] d...   577.196390: _raw_spin_lock <-force_quiescent_state
          <idle>-0     [003] d...   577.196391: _raw_spin_unlock_irqrestore <-force_quiescent_state
          <idle>-0     [003] d...   577.196391: rcu_cpu_has_callbacks <-rcu_idle_enter_common
          <idle>-0     [003] d...   577.196391: raise_softirq <-rcu_idle_enter_common
          <idle>-0     [003] d...   577.196391: __raise_softirq_irqoff <-raise_softirq
          <idle>-0     [003] d...   577.196392: wakeup_softirqd <-raise_softirq
          <idle>-0     [003] d...   577.196392: wake_up_process <-wakeup_softirqd
...
          <idle>-0     [003] .N..   577.196403: __schedule <-schedule
          <idle>-0     [003] .N..   577.196403: rcu_note_context_switch <-__schedule
          <idle>-0     [003] .N..   577.196403: rcu_sched_qs <-rcu_note_context_switch
          <idle>-0     [003] .N..   577.196403: _raw_spin_lock_irq <-__schedule
          <idle>-0     [003] dN..   577.196404: put_prev_task_idle <-__schedule
          <idle>-0     [003] dN..   577.196404: pick_next_task_fair <-__schedule
          <idle>-0     [003] dN..   577.196404: clear_buddies <-pick_next_task_fair
          <idle>-0     [003] dN..   577.196405: set_next_entity <-pick_next_task_fair
          <idle>-0     [003] dN..   577.196405: update_stats_wait_end <-set_next_entity
     ksoftirqd/3-16    [003] d...   577.196406: finish_task_switch <-__schedule
     ksoftirqd/3-16    [003] d...   577.196406: __do_softirq <-run_ksoftirqd
     ksoftirqd/3-16    [003] ..s.   577.196406: rcu_process_callbacks <-__do_softirq
     ksoftirqd/3-16    [003] ..s.   577.196407: __rcu_process_callbacks <-rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196407: rcu_process_gp_end <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196407: check_for_new_grace_period <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196408: rcu_report_qs_rdp.isra.29 <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196408: _raw_spin_lock_irqsave <-rcu_report_qs_rdp.isra.29
     ksoftirqd/3-16    [003] d.s.   577.196408: rcu_report_qs_rnp <-rcu_report_qs_rdp.isra.29
     ksoftirqd/3-16    [003] d.s.   577.196408: _raw_spin_unlock_irqrestore <-rcu_report_qs_rnp
     ksoftirqd/3-16    [003] ..s.   577.196409: __rcu_process_callbacks <-rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196409: force_quiescent_state <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196409: rcu_process_gp_end <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196410: check_for_new_grace_period <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196410: rcu_bh_qs <-__do_softirq
     ksoftirqd/3-16    [003] d.s.   577.196410: __local_bh_enable <-__do_softirq
     ksoftirqd/3-16    [003] ....   577.196410: _cond_resched <-run_ksoftirqd
     ksoftirqd/3-16    [003] ....   577.196411: rcu_note_context_switch <-run_ksoftirqd
     ksoftirqd/3-16    [003] ....   577.196411: rcu_sched_qs <-rcu_note_context_switch
     ksoftirqd/3-16    [003] ....   577.196411: kthread_should_stop <-run_ksoftirqd
     ksoftirqd/3-16    [003] ....   577.196412: schedule_preempt_disabled <-run_ksoftirqd
     ksoftirqd/3-16    [003] ....   577.196412: schedule <-schedule_preempt_disabled
     ksoftirqd/3-16    [003] ....   577.196412: __schedule <-schedule
     ksoftirqd/3-16    [003] ....   577.196412: rcu_note_context_switch <-__schedule
...
     ksoftirqd/3-16    [003] d...   577.196417: pick_next_task_idle <-__schedule
     ksoftirqd/3-16    [003] d...   577.196417: calc_load_account_idle <-pick_next_task_idle
          <idle>-0     [003] d...   577.196418: finish_task_switch <-__schedule
          <idle>-0     [003] ....   577.196418: tick_nohz_idle_enter <-cpu_idle
          <idle>-0     [003] ....   577.196419: set_cpu_sd_state_idle <-tick_nohz_idle_enter
          <idle>-0     [003] d...   577.196419: tick_nohz_stop_sched_tick.isra.9 <-tick_nohz_idle_enter
          <idle>-0     [003] d...   577.196419: ktime_get <-tick_nohz_stop_sched_tick.isra.9
          <idle>-0     [003] ....   577.196420: local_touch_nmi <-cpu_idle
          <idle>-0     [003] d...   577.196420: enter_idle <-cpu_idle
          <idle>-0     [003] d...   577.196420: atomic_notifier_call_chain <-enter_idle
          <idle>-0     [003] d...   577.196420: notifier_call_chain <-atomic_notifier_call_chain
          <idle>-0     [003] d...   577.196421: rcu_idle_enter <-cpu_idle
          <idle>-0     [003] d...   577.196421: rcu_idle_enter_common <-rcu_idle_enter
          <idle>-0     [003] d...   577.196421: rcu_cpu_has_callbacks <-rcu_idle_enter_common
          <idle>-0     [003] d...   577.196421: rcu_sched_qs <-rcu_idle_enter_common
          <idle>-0     [003] d...   577.196422: force_quiescent_state <-rcu_idle_enter_common
          <idle>-0     [003] d...   577.196422: _raw_spin_trylock <-force_quiescent_state
          <idle>-0     [003] d...   577.196422: _raw_spin_lock <-force_quiescent_state
          <idle>-0     [003] d...   577.196423: force_qs_rnp <-force_quiescent_state
          <idle>-0     [003] d...   577.196423: _raw_spin_lock_irqsave <-force_qs_rnp
          <idle>-0     [003] d...   577.196423: rcu_implicit_dynticks_qs <-force_qs_rnp
          <idle>-0     [003] d...   577.196424: rcu_report_qs_rnp <-force_qs_rnp
          <idle>-0     [003] d...   577.196424: _raw_spin_lock <-rcu_report_qs_rnp
          <idle>-0     [003] d...   577.196424: _raw_spin_lock <-rcu_report_qs_rnp
          <idle>-0     [003] d...   577.196425: rcu_start_gp <-rcu_report_qs_rnp
          <idle>-0     [003] d...   577.196425: _raw_spin_unlock_irqrestore <-rcu_start_gp
          <idle>-0     [003] d...   577.196425: _raw_spin_lock_irqsave <-force_qs_rnp
          <idle>-0     [003] d...   577.196426: _raw_spin_unlock_irqrestore <-force_qs_rnp
          <idle>-0     [003] d...   577.196426: _raw_spin_lock <-force_quiescent_state
          <idle>-0     [003] d...   577.196426: rcu_start_gp <-force_quiescent_state
...
          <idle>-0     [003] dN..   577.196443: clear_buddies <-pick_next_task_fair
          <idle>-0     [003] dN..   577.196443: set_next_entity <-pick_next_task_fair
          <idle>-0     [003] dN..   577.196443: update_stats_wait_end <-set_next_entity
     ksoftirqd/3-16    [003] d...   577.196444: finish_task_switch <-__schedule
     ksoftirqd/3-16    [003] d...   577.196444: __do_softirq <-run_ksoftirqd
     ksoftirqd/3-16    [003] ..s.   577.196444: rcu_process_callbacks <-__do_softirq
     ksoftirqd/3-16    [003] ..s.   577.196445: __rcu_process_callbacks <-rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196445: rcu_process_gp_end <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196445: check_for_new_grace_period <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196446: rcu_report_qs_rdp.isra.29 <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196446: _raw_spin_lock_irqsave <-rcu_report_qs_rdp.isra.29
     ksoftirqd/3-16    [003] d.s.   577.196446: rcu_report_qs_rnp <-rcu_report_qs_rdp.isra.29
     ksoftirqd/3-16    [003] d.s.   577.196446: _raw_spin_unlock_irqrestore <-rcu_report_qs_rnp
     ksoftirqd/3-16    [003] ..s.   577.196447: put_cred_rcu <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196447: key_put <-put_cred_rcu
     ksoftirqd/3-16    [003] ..s.   577.196447: key_put <-put_cred_rcu
     ksoftirqd/3-16    [003] ..s.   577.196448: release_tgcred.isra.11 <-put_cred_rcu
     ksoftirqd/3-16    [003] ..s.   577.196448: call_rcu_sched <-release_tgcred.isra.11
     ksoftirqd/3-16    [003] ..s.   577.196448: __call_rcu <-call_rcu_sched
     ksoftirqd/3-16    [003] ..s.   577.196449: free_uid <-put_cred_rcu
     ksoftirqd/3-16    [003] ..s.   577.196449: kmem_cache_free <-put_cred_rcu
     ksoftirqd/3-16    [003] ..s.   577.196449: __phys_addr <-kmem_cache_free
     ksoftirqd/3-16    [003] ..s.   577.196450: __slab_free <-kmem_cache_free
     ksoftirqd/3-16    [003] ..s.   577.196450: free_debug_processing <-__slab_free
     ksoftirqd/3-16    [003] d.s.   577.196450: check_slab <-free_debug_processing
     ksoftirqd/3-16    [003] d.s.   577.196451: slab_pad_check.part.42 <-check_slab
     ksoftirqd/3-16    [003] d.s.   577.196451: on_freelist <-free_debug_processing
     ksoftirqd/3-16    [003] d.s.   577.196451: check_object <-free_debug_processing
     ksoftirqd/3-16    [003] d.s.   577.196452: check_bytes_and_report <-check_object
     ksoftirqd/3-16    [003] d.s.   577.196452: check_bytes_and_report <-check_object
     ksoftirqd/3-16    [003] d.s.   577.196452: set_track <-free_debug_processing
     ksoftirqd/3-16    [003] d.s.   577.196453: dump_trace <-save_stack_trace
     ksoftirqd/3-16    [003] d.s.   577.196453: print_context_stack <-dump_trace
     ksoftirqd/3-16    [003] d.s.   577.196458: init_object <-free_debug_processing
     ksoftirqd/3-16    [003] ..s.   577.196458: delayed_put_pid <-__rcu_process_callbacks
...
     ksoftirqd/3-16    [003] d...   577.196570: pick_next_task_fair <-__schedule
     ksoftirqd/3-16    [003] d...   577.196570: clear_buddies <-pick_next_task_fair
     ksoftirqd/3-16    [003] d...   577.196570: set_next_entity <-pick_next_task_fair
     ksoftirqd/3-16    [003] d...   577.196570: update_stats_wait_end <-set_next_entity
          vsftpd-7977  [003] d...   577.196571: finish_task_switch <-__schedule
          vsftpd-7977  [003] ....   577.196571: _raw_spin_lock_irq <-wait_for_common
          vsftpd-7977  [003] ....   577.196571: mutex_unlock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.196572: put_filesystem <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.196572: put_super <-deactivate_locked_super


--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ