The following series provides the basic support for lockdep on UML
running on x86-64, and fixes a few lockdep-generated warnings.
It's not yet sufficient to properly use lockdep yet - currently
lockdep disables itself with the stacktrace/warning below; presumably
there's a point in the UML code where an unblock_signals() call needs
to be accompanied by a trace_hardirqs_off(), but I'm not familiar
enough with the UML code to figure out which one(s). Any suggestions
from those more familiar with either lockdep or UML would be welcome.
[<0000000060025e3d>] show_trace+0x61/0x78
[<0000000060025f64>] dump_stack+0x22/0x2e
[<0000000060043192>] warn_slowpath_common+0x66/0x90
[<00000000600431ce>] warn_slowpath_null+0x12/0x14
[<00000000600648c3>] check_flags+0xbb/0x1c0
[<0000000060069dcc>] lock_acquire+0x61/0xd9
[<0000000060082236>] find_get_page+0x47/0xb1
[<0000000060082539>] find_lock_page+0x25/0x77
[<0000000060082ed9>] find_or_create_page+0x3c/0xa8
[<00000000600cdca3>] __getblk+0x144/0x25e
[<0000000060119025>] jread+0x13c/0x24c
[<00000000601191a8>] do_one_pass+0x73/0x4b9
[<00000000601196c3>] journal_recover+0x54/0xf1
[<000000006011c159>] journal_load+0x59/0xa5
[<0000000060109eec>] ext3_fill_super+0x10c7/0x1884
[<00000000600ad64a>] get_sb_bdev+0x123/0x175
[<00000000601068f2>] ext3_get_sb+0x12/0x14
[<00000000600ac475>] vfs_kern_mount+0x5d/0xae
[<00000000600ac52e>] do_kern_mount+0x52/0x103
[<00000000600c476e>] do_mount+0x7ca/0x861
[<00000000600c4894>] sys_mount+0x8f/0xeb
[<00000000600129f3>] mount_block_root+0xf8/0x2d3
[<0000000060012c1e>] mount_root+0x50/0x57
[<0000000060012d47>] prepare_namespace+0x122/0x14d
[<00000000600121f2>] kernel_init+0x10f/0x120
[<000000006003443d>] run_kernel_thread+0x41/0x4a
[<0000000060024c9d>] new_thread_handler+0x7f/0xb2
[<ffffffffffffffff>] 0xffffffffffffffff
---[ end trace ee4fa9a354ebc0b4 ]---
possible reason: unannotated irqs-on.
irq event stamp: 29900
hardirqs last enabled at (29899): [<00000000600a87a5>]
kmem_cache_alloc+0xa0/0x10b
hardirqs last disabled at (29900): [<00000000600240a3>] sigio_handler+0x18/0x76
softirqs last enabled at (19414): [<00000000601c1706>]
xfrm_state_unlock_afinfo+0xe/0x10
softirqs last disabled at (19412): [<00000000601d0cda>] _write_lock_bh+0x13/0x77
---
Paul Menage (5):
UML: Remove sigio_lock()/sigio_unlock() lockdep warnings
UML: Avoid lockdep issues during initialization
UML: Enable CONFIG_STACKTRACE_SUPPORT
UML: Enable CONFIG_TRACE_IRQFLAGS_SUPPORT
UML: Fix some apparent bitrot
arch/um/Kconfig.common | 4 +-
arch/um/drivers/slip_kern.c | 1 -
arch/um/drivers/slirp_kern.c | 1 -
arch/um/include/asm/dma-mapping.h | 4 +-
arch/um/include/asm/system.h | 39 ++++++++++++---------
arch/um/include/shared/as-layout.h | 4 +-
arch/um/include/shared/sigio.h | 4 +-
arch/um/kernel/Makefile | 1 +
arch/um/kernel/irq.c | 1 +
arch/um/kernel/process.c | 1 -
arch/um/kernel/sigio.c | 8 ++--
arch/um/kernel/skas/process.c | 28 ++++++++++++++-
arch/um/kernel/stacktrace.c | 68 ++++++++++++++++++++++++++++++++++++
arch/um/kernel/sysrq.c | 20 +++++++++++
arch/um/kernel/um_arch.c | 20 -----------
arch/um/os-Linux/sigio.c | 55 +++++++++++++++--------------
16 files changed, 179 insertions(+), 80 deletions(-)
create mode 100644 arch/um/kernel/stacktrace.c
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel