android_kernel_xiaomi_sm8350/include/asm-x86
Nick Piggin 418ccbe37f x86: lock bitops
I missed an obvious one!

x86 CPUs are defined not to reorder stores past earlier loads, so there is
no hardware memory barrier required to implement a release-consistent store
(all stores are, by definition).

So ditch the generic lock bitops, and implement optimised versions for x86,
which removes the mfence from __clear_bit_unlock (which is already a useful
primitive for SLUB).

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-23 22:37:22 +02:00
..
mach-bigsmp
mach-default i386: fix 4 bit apicid assumption of mach-default 2007-10-17 20:15:24 +02:00
mach-es7000
mach-generic
mach-numaq
mach-summit
mach-visws x86: visws extern inline to static inline 2007-10-17 20:16:39 +02:00
mach-voyager
xen
a.out_32.h
a.out_64.h
a.out.h
acpi_32.h x86: Unify i386 and x86-64 early quirks 2007-10-19 20:35:03 +02:00
acpi_64.h
acpi.h
agp.h x86: unify include/asm/agp_32/64.h 2007-10-17 20:17:12 +02:00
alternative_32.h
alternative_64.h
alternative-asm.h x86: rename .i assembler includes to .h 2007-10-17 20:16:29 +02:00
alternative.h
apic_32.h
apic_64.h x86_64: remove now unused code 2007-10-12 23:04:23 +02:00
apic.h
apicdef_32.h
apicdef_64.h
apicdef.h
arch_hooks.h
atomic_32.h
atomic_64.h x86: make atomic64_t work like atomic_t 2007-10-17 20:16:21 +02:00
atomic.h
auxvec.h x86: unify include/asm/auxvec_32/64.h 2007-10-17 20:17:13 +02:00
bitops_32.h x86: lock bitops 2007-10-23 22:37:22 +02:00
bitops_64.h x86: lock bitops 2007-10-23 22:37:22 +02:00
bitops.h
boot.h
bootparam.h Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
bug.h x86: unify include/asm/bug_32/64.h 2007-10-17 20:26:16 +02:00
bugs.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
byteorder_32.h
byteorder_64.h
byteorder.h
cache.h x86: unify include/asm/cache_32/64.h 2007-10-17 20:17:15 +02:00
cacheflush.h Intel IOMMU: clflush_cache_range now takes size param 2007-10-22 08:13:18 -07:00
calgary.h
calling.h
checksum_32.h
checksum_64.h
checksum.h
cmpxchg_32.h
cmpxchg_64.h
cmpxchg.h
compat.h x86: Use linux/elfcore-compat.h 2007-10-19 20:35:02 +02:00
cpu.h i386: no need to make enable_cpu_hotplug a variable 2007-10-17 20:16:16 +02:00
cpufeature_32.h I/OAT: Add DCA services 2007-10-16 09:43:09 -07:00
cpufeature_64.h minimal build fixes for uml (fallout from x86 merge) 2007-10-13 09:57:15 -07:00
cpufeature.h
cputime.h x86: trivial header merges 2007-10-17 20:17:08 +02:00
current_32.h
current_64.h
current.h
debugreg.h x86: unify include/asm/debugreg_32/64.h 2007-10-17 20:35:37 +02:00
delay.h x86: unify include/asm/delay_32/64.h 2007-10-17 20:17:17 +02:00
desc_32.h
desc_64.h x86: use descriptor's functions instead of inline assembly 2007-10-19 20:35:03 +02:00
desc_defs.h
desc.h
device.h intel-iommu: fix for IOMMU early crash 2007-10-22 08:13:19 -07:00
div64_32.h
div64_64.h
div64.h
dma_32.h
dma_64.h
dma-mapping_32.h Change table chaining layout 2007-10-22 21:20:01 +02:00
dma-mapping_64.h x86-64: enable sg chaining 2007-10-16 11:26:02 +02:00
dma-mapping.h
dma.h
dmi.h x86: unify include/asm/dmi_32/64.h 2007-10-17 20:17:18 +02:00
dwarf2_32.h
dwarf2_64.h
dwarf2.h
e820_32.h Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
e820_64.h Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
e820.h Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
edac.h x86: unify include/asm/cache_32/64.h 2007-10-17 20:17:19 +02:00
elf_32.h increase AT_VECTOR_SIZE to terminate saved_auxv properly 2007-10-17 08:43:00 -07:00
elf_64.h
elf.h
emergency-restart.h
errno.h x86: trivial header merges 2007-10-17 20:17:08 +02:00
fb.h x86: unify include/asm/cache_32/64.h 2007-10-17 20:17:21 +02:00
fcntl.h
fixmap_32.h
fixmap_64.h
fixmap.h
floppy.h x86: unify include/asm/floppy_32/64.h 2007-10-17 20:24:56 +02:00
fpu32.h
frame.h x86: rename .i assembler includes to .h 2007-10-17 20:16:29 +02:00
futex_32.h
futex_64.h
futex.h
genapic_32.h
genapic_64.h
genapic.h
geode.h GEODE: use symbolic constant in cs5536 reboot fixup 2007-10-19 20:35:02 +02:00
hardirq_32.h x86: expand /proc/interrupts to include missing vectors, v2 2007-10-17 20:16:53 +02:00
hardirq_64.h
hardirq.h
highmem.h
hpet.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
hw_irq_32.h
hw_irq_64.h x86: Add parenthesis to IRQ vector macros 2007-10-17 20:16:28 +02:00
hw_irq.h
hypertransport.h
i387_32.h
i387_64.h
i387.h
i8253.h i386: Remove the useless #ifdef in i8253.h 2007-10-12 23:04:23 +02:00
i8259.h
ia32_unistd.h
ia32.h
ide.h ide: add CONFIG_IDE_ARCH_OBSOLETE_INIT 2007-10-20 00:32:32 +02:00
idle.h
intel_arch_perfmon.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
io_32.h x86: asm-i386/io.h fix constness 2007-10-17 20:16:40 +02:00
io_64.h Remove dma_cache_(wback|inv|wback_inv) functions 2007-10-17 08:42:57 -07:00
io_apic_32.h i386: Expose IOAPIC register definitions even if CONFIG_X86_IO_APIC is not set 2007-10-13 10:18:17 +02:00
io_apic_64.h x86: Unify i386 and x86-64 early quirks 2007-10-19 20:35:03 +02:00
io_apic.h
io.h
ioctl.h
ioctls.h x86: unify include/asm/ioctls_32/64.h 2007-10-17 20:26:11 +02:00
iommu.h
ipcbuf.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
ipi.h x86: convert cpu_to_apicid to be a per cpu variable 2007-10-19 20:35:03 +02:00
irq_32.h i386: introduce "used_vectors" bitmap which can be used to reserve vectors. 2007-10-19 20:35:03 +02:00
irq_64.h
irq_regs_32.h
irq_regs_64.h
irq_regs.h
irq.h
irqflags_32.h lockdep: i386: connect the sysexit hook 2007-10-11 22:11:12 +02:00
irqflags_64.h lockdep: x86_64: connect the sysexit hook 2007-10-11 22:11:12 +02:00
irqflags.h
ist.h Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
k8.h
Kbuild Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
kdebug.h x86: unify include/asm/kdebug_32/64.h 2007-10-17 20:26:12 +02:00
kexec_32.h
kexec_64.h
kexec.h
kmap_types.h x86: unify include/asm/agp_32/64.h 2007-10-17 20:26:13 +02:00
kprobes_32.h kprobes: support kretprobe blacklist 2007-10-16 09:43:10 -07:00
kprobes_64.h kprobes: support kretprobe blacklist 2007-10-16 09:43:10 -07:00
kprobes.h
ldt.h x86: unify include/asm/ldt_32/64.h 2007-10-17 20:16:47 +02:00
lguest_hcall.h Remove old lguest I/O infrrasructure. 2007-10-23 15:49:55 +10:00
lguest.h Reorder guest saved regs to match hyperall order 2007-10-23 15:49:51 +10:00
linkage_32.h
linkage_64.h
linkage.h
local_32.h
local_64.h
local.h
mach_apic.h
math_emu.h
mc146818rtc_32.h
mc146818rtc_64.h
mc146818rtc.h
mca_dma.h
mca.h
mce.h x86: unify include/asm/mce_32/64.h 2007-10-17 20:16:44 +02:00
mman.h x86: unify include/asm/mman_32/64.h 2007-10-17 20:26:15 +02:00
mmsegment.h
mmu_32.h x86: convert mm_context_t semaphore to a mutex 2007-10-17 20:17:05 +02:00
mmu_64.h x86: convert mm_context_t semaphore to a mutex 2007-10-17 20:17:00 +02:00
mmu_context_32.h
mmu_context_64.h
mmu_context.h
mmu.h
mmx.h
mmzone_32.h
mmzone_64.h
mmzone.h
module_32.h
module_64.h
module.h
mpspec_32.h
mpspec_64.h
mpspec_def.h
mpspec.h
msgbuf_32.h
msgbuf_64.h
msgbuf.h
msidef.h
msr_32.h
msr_64.h
msr-index.h i386: i386 add AMD64 Barcelona PMU MSR definitions to msr.h 2007-10-19 20:35:03 +02:00
msr.h
mtrr_32.h
mtrr_64.h
mtrr.h
mutex_32.h
mutex_64.h
mutex.h
namei.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
nmi_32.h
nmi_64.h
nmi.h
numa_32.h
numa_64.h x86: clean up apicid_to_node declaration 2007-10-17 20:15:16 +02:00
numa.h
numaq.h
page_32.h
page_64.h x86_64: SPARSEMEM_VMEMMAP 2M page size support 2007-10-16 09:42:51 -07:00
page.h
param.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
paravirt.h paravirt: clean up lazy mode handling 2007-10-16 11:51:29 -07:00
parport.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
pci_32.h PCI: merge almost all of pci_32.h and pci_64.h together 2007-10-12 15:03:20 -07:00
pci_64.h PCI: merge almost all of pci_32.h and pci_64.h together 2007-10-12 15:03:20 -07:00
pci-direct.h
pci.h PCI: merge almost all of pci_32.h and pci_64.h together 2007-10-12 15:03:20 -07:00
pda.h x86: expand /proc/interrupts to include missing vectors, v2 2007-10-17 20:16:53 +02:00
percpu_32.h
percpu_64.h
percpu.h
pgalloc_32.h
pgalloc_64.h
pgalloc.h
pgtable_32.h remove asm/bitops.h includes 2007-10-19 11:53:41 -07:00
pgtable_64.h remove asm/bitops.h includes 2007-10-19 11:53:41 -07:00
pgtable-2level-defs.h
pgtable-2level.h
pgtable-3level-defs.h paravirt: refactor struct paravirt_ops into smaller pv_*_ops 2007-10-16 11:51:29 -07:00
pgtable-3level.h
pgtable.h
poll.h
posix_types_32.h
posix_types_64.h
posix_types.h
prctl.h
processor_32.h x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
processor_64.h x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
processor-cyrix.h
processor-flags.h KVM: Use standard CR8 flags, and fix TPR definition 2007-10-13 10:18:19 +02:00
processor.h
proto.h x86: Unify i386 and x86-64 early quirks 2007-10-19 20:35:03 +02:00
ptrace_32.h x86: introduce frame_pointer() and stack_pointer() 2007-10-19 20:35:04 +02:00
ptrace_64.h x86: introduce frame_pointer() and stack_pointer() 2007-10-19 20:35:04 +02:00
ptrace-abi.h x86: unify include/asm/ptrace-abi_32/64.h 2007-10-17 20:16:45 +02:00
ptrace.h
reboot_fixups.h
reboot.h
required-features_32.h
required-features_64.h
required-features.h
resource.h x86: trivial header merges 2007-10-17 20:17:08 +02:00
resume-trace_32.h
resume-trace_64.h
resume-trace.h
rio.h
rtc.h x86: trivial header merges 2007-10-17 20:17:08 +02:00
rwlock.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
rwsem.h
scatterlist_32.h Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
scatterlist_64.h Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
scatterlist.h
seccomp_32.h
seccomp_64.h
seccomp.h
sections.h x86: trivial header merges 2007-10-17 20:17:08 +02:00
segment_32.h
segment_64.h
segment.h
semaphore_32.h kill DECLARE_MUTEX_LOCKED 2007-10-17 08:42:47 -07:00
semaphore_64.h kill DECLARE_MUTEX_LOCKED 2007-10-17 08:42:47 -07:00
semaphore.h
sembuf.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
serial.h x86: merge some trivially mergeable headers 2007-10-17 20:17:09 +02:00
setup_32.h [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
setup_64.h [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
setup.h
shmbuf_32.h
shmbuf_64.h
shmbuf.h
shmparam.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
sigcontext32.h
sigcontext_32.h
sigcontext_64.h
sigcontext.h
siginfo.h x86: unify include/asm/siginfo_32/64.h 2007-10-17 20:26:17 +02:00
signal_32.h
signal_64.h
signal.h
smp_32.h Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86 2007-10-19 15:06:00 -07:00
smp_64.h x86: convert cpu_llc_id to be a per cpu variable 2007-10-19 20:35:03 +02:00
smp.h
socket.h
sockios.h x86: merge some trivially mergeable headers 2007-10-17 20:17:09 +02:00
sparsemem_32.h
sparsemem_64.h
sparsemem.h
spinlock_32.h
spinlock_64.h
spinlock_types.h
spinlock.h
srat.h
stacktrace.h x86: constify stacktrace_ops 2007-10-17 20:16:11 +02:00
stat_32.h
stat_64.h
stat.h
statfs_32.h
statfs_64.h
statfs.h
string_32.h i386: Remove strrchr assembler implementation 2007-10-17 20:16:23 +02:00
string_64.h
string.h
suspend_32.h
suspend_64.h Hibernation: Arbitrary boot kernel support on x86_64 2007-10-18 14:37:19 -07:00
suspend.h
swiotlb.h
sync_bitops.h
system_32.h i386: consolidate show_regs and show_registers for i386 2007-10-19 20:35:03 +02:00
system_64.h x86: remove STR() macros 2007-10-17 20:16:25 +02:00
system.h
tce.h
termbits.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
termios.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
therm_throt.h
thread_info_32.h
thread_info_64.h
thread_info.h
time.h
timer.h
timex.h x86: unify timex.h variants 2007-10-12 23:04:23 +02:00
tlb.h x86: unify include/asm/tlb_32/64.h 2007-10-17 20:26:18 +02:00
tlbflush_32.h remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
tlbflush_64.h remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
tlbflush.h
topology_32.h x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
topology_64.h Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86 2007-10-19 15:06:00 -07:00
topology.h
tsc.h x86: unify timex.h variants 2007-10-12 23:04:23 +02:00
types.h x86: unify include/asm/types_32/64.h 2007-10-17 20:32:07 +02:00
uaccess_32.h
uaccess_64.h
uaccess.h
ucontext.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
unaligned.h x86: unify some more trivial include/asm-x86/ 32/64 variants 2007-10-17 20:17:10 +02:00
unistd_32.h
unistd_64.h x86: cleanup 64bit unistd.h 2007-10-17 20:16:36 +02:00
unistd.h
unwind.h x86: unify include/asm/unwind_32/64.h 2007-10-17 20:32:38 +02:00
user32.h
user_32.h
user_64.h
user.h
vga.h
vgtod.h
vic.h
vm86.h
vmi_time.h
vmi.h
voyager.h
vsyscall32.h
vsyscall.h i386/x8664: cleanup the shared hpet code 2007-10-12 23:04:23 +02:00
xor_32.h
xor_64.h
xor.h