mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2026-01-01 05:51:06 +00:00
Pull locking updates from Ingo Molnar:
"The main changes are:
- 'qspinlock' support, enabled on x86: queued spinlocks - these are
now the spinlock variant used by x86 as they outperform ticket
spinlocks in every category. (Waiman Long)
- 'pvqspinlock' support on x86: paravirtualized variant of queued
spinlocks. (Waiman Long, Peter Zijlstra)
- 'qrwlock' support, enabled on x86: queued rwlocks. Similar to
queued spinlocks, they are now the variant used by x86:
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
- various lockdep fixlets
- various locking primitives cleanups, further WRITE_ONCE()
propagation"
* 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
locking/lockdep: Remove hard coded array size dependency
locking/qrwlock: Don't contend with readers when setting _QW_WAITING
lockdep: Do not break user-visible string
locking/arch: Rename set_mb() to smp_store_mb()
locking/arch: Add WRITE_ONCE() to set_mb()
rtmutex: Warn if trylock is called from hard/softirq context
arch: Remove __ARCH_HAVE_CMPXCHG
locking/rtmutex: Drop usage of __HAVE_ARCH_CMPXCHG
locking/qrwlock: Rename QUEUE_RWLOCK to QUEUED_RWLOCKS
locking/pvqspinlock: Rename QUEUED_SPINLOCK to QUEUED_SPINLOCKS
locking/pvqspinlock: Replace xchg() by the more descriptive set_mb()
locking/pvqspinlock, x86: Enable PV qspinlock for Xen
locking/pvqspinlock, x86: Enable PV qspinlock for KVM
locking/pvqspinlock, x86: Implement the paravirt qspinlock call patching
locking/pvqspinlock: Implement simple paravirt support for the qspinlock
locking/qspinlock: Revert to test-and-set on hypervisors
locking/qspinlock: Use a simple write to grab the lock
locking/qspinlock: Optimize for smaller NR_CPUS
locking/qspinlock: Extract out code snippets for the next patch
locking/qspinlock: Add pending bit
...
|
||
|---|---|---|
| .. | ||
| agp.h | ||
| asm-offsets.h | ||
| asmregs.h | ||
| assembly.h | ||
| atomic.h | ||
| bitops.h | ||
| bug.h | ||
| bugs.h | ||
| cache.h | ||
| cacheflush.h | ||
| checksum.h | ||
| cmpxchg.h | ||
| compat_ucontext.h | ||
| compat.h | ||
| current.h | ||
| delay.h | ||
| dma-mapping.h | ||
| dma.h | ||
| eisa_bus.h | ||
| eisa_eeprom.h | ||
| elf.h | ||
| fb.h | ||
| fixmap.h | ||
| floppy.h | ||
| ftrace.h | ||
| futex.h | ||
| grfioctl.h | ||
| hardirq.h | ||
| hardware.h | ||
| ide.h | ||
| io.h | ||
| irq.h | ||
| irqflags.h | ||
| kbdleds.h | ||
| Kbuild | ||
| kmap_types.h | ||
| ldcw.h | ||
| led.h | ||
| linkage.h | ||
| machdep.h | ||
| mc146818rtc.h | ||
| mckinley.h | ||
| mmu_context.h | ||
| mmu.h | ||
| mmzone.h | ||
| module.h | ||
| page.h | ||
| parisc-device.h | ||
| parport.h | ||
| pci.h | ||
| pdc_chassis.h | ||
| pdc.h | ||
| pdcpat.h | ||
| perf_event.h | ||
| perf.h | ||
| pgalloc.h | ||
| pgtable.h | ||
| prefetch.h | ||
| processor.h | ||
| psw.h | ||
| ptrace.h | ||
| ropes.h | ||
| rt_sigframe.h | ||
| rtc.h | ||
| runway.h | ||
| sections.h | ||
| serial.h | ||
| shmparam.h | ||
| signal.h | ||
| smp.h | ||
| socket.h | ||
| special_insns.h | ||
| spinlock_types.h | ||
| spinlock.h | ||
| string.h | ||
| superio.h | ||
| switch_to.h | ||
| syscall.h | ||
| termios.h | ||
| thread_info.h | ||
| timex.h | ||
| tlb.h | ||
| tlbflush.h | ||
| traps.h | ||
| uaccess.h | ||
| ucontext.h | ||
| unaligned.h | ||
| unistd.h | ||
| unwind.h | ||