On Wed, Apr 27, 2011 at 09:34:31PM +0200, Bruno Prémont wrote: > On Wed, 27 April 2011 Pádraig Brady wrote: > > On 27/04/11 19:41, Bruno Prémont wrote: > > > On Wed, 27 April 2011 Bruno Prémont wrote: > > >> On Wed, 27 Apr 2011 00:28:37 +0200 (CEST) Thomas Gleixner wrote: > > >>> On Tue, 26 Apr 2011, Linus Torvalds wrote: > > >>>> On Tue, Apr 26, 2011 at 10:09 AM, Bruno Prémont wrote: > > >>>>> Just in case, /proc/$(pidof rcu_kthread)/status shows ~20k voluntary > > >>>>> context switches and exactly one non-voluntary one. > > >>>>> > > >>>>> In addition when rcu_kthread has stopped doing its work > > >>>>> `swapoff $(swapdevice)` seems to block forever (at least normal shutdown > > >>>>> blocks on disabling swap device). > > > > > > Apparently it's not swapoff but `umount -a -t tmpfs` that's getting > > > stuck here. Manual swapoff worked. Doesn't "umount" wait for an RCU grace period? If so, then your hang is just a consequence of RCU grace periods hanging, which in turn appears to be a consequence of rcu_kthread not being allowed to run. > > Anything to do with this? > > http://thread.gmane.org/gmane.linux.kernel.mm/60953/ > > I don't think so, if it is, it is only loosely related. > > From the trace you omitted to keep it's visible that it gets hit by > non-operating RCU kthread. Yep, makes sense! Thanx, Paul > Maybe existence of RCU barrier in this trace has some relation to > above thread but I don't see it at first glance. > > [ 1714.960735] umount D 5a000040 5668 20331 20324 0x00000000 > [ 1714.960735] c3c99e5c 00000086 dd407900 5a000040 dd25a1a8 dd407900 dd25a120 c3c99e0c > [ 1714.960735] c3c99e24 c10c1be2 c14d9f20 c3c99e5c c3c8c680 c3c8c680 000000bb c3c99e24 > [ 1714.960735] c10c0b88 dd25a120 dd407900 ddfd4b40 c3c99e4c ddfc9d20 dd402380 5a000010 > [ 1714.960735] Call Trace: > [ 1714.960735] [<c10c1be2>] ? check_object+0x92/0x210 > [ 1714.960735] [<c10c0b88>] ? init_object+0x38/0x70 > [ 1714.960735] [<c10c1be2>] ? check_object+0x92/0x210 > [ 1714.960735] [<c13cb37d>] schedule_timeout+0x16d/0x280 > [ 1714.960735] [<c10c0b88>] ? init_object+0x38/0x70 > [ 1714.960735] [<c10c2122>] ? free_debug_processing+0x112/0x1f0 > [ 1714.960735] [<c10a3791>] ? shmem_put_super+0x11/0x20 > [ 1714.960735] [<c13cae9c>] wait_for_common+0x9c/0x150 > [ 1714.960735] [<c102c890>] ? try_to_wake_up+0x170/0x170 > [ 1714.960735] [<c13caff2>] wait_for_completion+0x12/0x20 > [ 1714.960735] [<c1075ad7>] rcu_barrier_sched+0x47/0x50 > ^^^^^^^^^^^^^^^^^ > [ 1714.960735] [<c104d3c0>] ? alloc_pid+0x370/0x370 > [ 1714.960735] [<c10ce74a>] deactivate_locked_super+0x3a/0x60 > [ 1714.960735] [<c10ce948>] deactivate_super+0x48/0x70 > [ 1714.960735] [<c10e7427>] mntput_no_expire+0x87/0xe0 > [ 1714.960735] [<c10e7800>] sys_umount+0x60/0x320 > [ 1714.960735] [<c10b231a>] ? remove_vma+0x3a/0x50 > [ 1714.960735] [<c10b3b22>] ? do_munmap+0x212/0x2f0 > [ 1714.960735] [<c10e7ad9>] sys_oldumount+0x19/0x20 > [ 1714.960735] [<c13cce10>] sysenter_do_call+0x12/0x26 > > Bruno -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>