[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 00/13] xen/spinlock: make recursive spinlocks a dedicated type
Instead of being able to use normal spinlocks as recursive ones, too, make recursive spinlocks a special lock type. This will make the spinlock structure smaller in production builds and add type-safety. This allows to increase the maximum number of physical cpus from 8191 to 65535 without increasing the size of the lock structure in production builds (the size of recursive spinlocks in debug builds will grow to 12 bytes due to that change). Changes in V2: - addressed comments by Jan Beulich - lots of additional cleanups - reorganized complete series Juergen Gross (13): xen/spinlock: fix coding style issues xen/spinlock: reduce lock profile ifdefs xen/spinlock: make spinlock initializers more readable xen/spinlock: introduce new type for recursive spinlocks xen/spinlock: rename recursive lock functions xen/spinlock: add rspin_[un]lock_irq[save|restore]() xen/spinlock: make struct lock_profile rspinlock_t aware xen/spinlock: add explicit non-recursive locking functions xen/spinlock: add another function level xen/spinlock: add missing rspin_is_locked() and rspin_barrier() xen/spinlock: split recursive spinlocks from normal ones xen/spinlock: remove indirection through macros for spin_*() functions xen/spinlock: support higher number of cpus xen/arch/arm/domain.c | 4 +- xen/arch/arm/mm.c | 4 +- xen/arch/x86/domain.c | 20 +-- xen/arch/x86/include/asm/mm.h | 2 +- xen/arch/x86/mm.c | 12 +- xen/arch/x86/mm/mem_sharing.c | 16 +- xen/arch/x86/mm/mm-locks.h | 6 +- xen/arch/x86/mm/p2m-pod.c | 6 +- xen/arch/x86/mm/p2m.c | 4 +- xen/arch/x86/tboot.c | 4 +- xen/arch/x86/traps.c | 14 +- xen/common/domain.c | 6 +- xen/common/domctl.c | 4 +- xen/common/grant_table.c | 10 +- xen/common/ioreq.c | 54 +++---- xen/common/memory.c | 4 +- xen/common/numa.c | 4 +- xen/common/page_alloc.c | 30 ++-- xen/common/spinlock.c | 292 +++++++++++++++++++++++----------- xen/drivers/char/console.c | 48 ++---- xen/drivers/passthrough/pci.c | 8 +- xen/include/xen/console.h | 5 +- xen/include/xen/sched.h | 10 +- xen/include/xen/spinlock.h | 176 ++++++++++++-------- 24 files changed, 447 insertions(+), 296 deletions(-) -- 2.35.3
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |