All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xen-devel] [PATCH v3 0/5] enhance lock debugging
@ 2019-08-29 10:18 Juergen Gross
  2019-08-29 10:18 ` [Xen-devel] [PATCH v3 1/5] xen/spinlocks: in debug builds store cpu holding the lock Juergen Gross
                   ` (4 more replies)
  0 siblings, 5 replies; 29+ messages in thread
From: Juergen Gross @ 2019-08-29 10:18 UTC (permalink / raw)
  To: xen-devel
  Cc: Juergen Gross, Stefano Stabellini, Wei Liu,
	Konrad Rzeszutek Wilk, George Dunlap, Andrew Cooper, Ian Jackson,
	Tim Deegan, Julien Grall, Jan Beulich, Volodymyr Babchuk,
	Roger Pau Monné

While hunting a locking problem in my core scheduling series I have
added some debugging aids to spinlock handling making it easier to
find the root cause for the problem.

Making use of the already existing lock profiling and enhancing it a
little bit produces some really valuable diagnostic data e.g. when a
NMI watchdog is triggering a crash.

Changes in V3:
- rebase to current staging (after realizing that patch 4 still
  applied, but resulting in patching a wrong function)

Changes in V2:
- multiple comments addressed
- added patch 5

Juergen Gross (5):
  xen/spinlocks: in debug builds store cpu holding the lock
  xen: add new CONFIG_DEBUG_LOCKS option
  xen: print lock profile info in panic()
  xen: modify lock profiling interface
  xen: modify several static locks to unique names

 tools/libxc/xc_misc.c       |   1 +
 tools/misc/xenlockprof.c    |  17 ++---
 xen/Kconfig.debug           |  10 ++-
 xen/arch/arm/xen.lds.S      |  13 ++--
 xen/arch/x86/domain.c       |   2 +-
 xen/arch/x86/irq.c          |   6 +-
 xen/arch/x86/time.c         |   6 +-
 xen/arch/x86/xen.lds.S      |  13 ++--
 xen/common/domain.c         |   4 +-
 xen/common/keyhandler.c     |   8 +--
 xen/common/perfc.c          |   6 +-
 xen/common/spinlock.c       | 161 ++++++++++++++++++++++++++++++--------------
 xen/common/sysctl.c         |   2 +-
 xen/common/trace.c          |   6 +-
 xen/drivers/char/console.c  |  10 +--
 xen/include/public/sysctl.h |  11 ++-
 xen/include/xen/spinlock.h  |  60 ++++++++++-------
 17 files changed, 206 insertions(+), 130 deletions(-)

-- 
2.16.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2019-09-04 10:55 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-29 10:18 [Xen-devel] [PATCH v3 0/5] enhance lock debugging Juergen Gross
2019-08-29 10:18 ` [Xen-devel] [PATCH v3 1/5] xen/spinlocks: in debug builds store cpu holding the lock Juergen Gross
2019-09-03 14:11   ` Jan Beulich
2019-09-03 14:31     ` Juergen Gross
2019-09-03 14:56       ` Jan Beulich
2019-08-29 10:18 ` [Xen-devel] [PATCH v3 2/5] xen: add new CONFIG_DEBUG_LOCKS option Juergen Gross
2019-09-03 14:13   ` Jan Beulich
2019-08-29 10:18 ` [Xen-devel] [PATCH v3 3/5] xen: print lock profile info in panic() Juergen Gross
2019-09-03 14:22   ` Jan Beulich
2019-09-03 14:38     ` Juergen Gross
2019-09-03 15:06       ` Jan Beulich
2019-08-29 10:18 ` [Xen-devel] [PATCH v3 4/5] xen: modify lock profiling interface Juergen Gross
2019-09-03 14:46   ` Jan Beulich
2019-09-04  8:30     ` Juergen Gross
2019-09-04  8:57       ` Jan Beulich
2019-08-29 10:18 ` [Xen-devel] [PATCH v3 5/5] xen: modify several static locks to unique names Juergen Gross
2019-09-03 14:53   ` Jan Beulich
2019-09-03 15:03     ` Juergen Gross
2019-09-03 15:09       ` Jan Beulich
2019-09-04  5:08         ` Juergen Gross
2019-09-04  8:25         ` Juergen Gross
2019-09-04  8:40           ` Jan Beulich
2019-09-04  8:47             ` Juergen Gross
2019-09-04  8:51               ` Jan Beulich
2019-09-04 10:55                 ` Juergen Gross
2019-09-04  8:58             ` Andrew Cooper
2019-09-04  9:11               ` Juergen Gross
2019-09-04  9:15                 ` Andrew Cooper
2019-09-04  9:52                   ` Juergen Gross

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.