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
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to