Linus Torvalds
0429fbc0bd
Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
...
Pull percpu consistent-ops changes from Tejun Heo:
"Way back, before the current percpu allocator was implemented, static
and dynamic percpu memory areas were allocated and handled separately
and had their own accessors. The distinction has been gone for many
years now; however, the now duplicate two sets of accessors remained
with the pointer based ones - this_cpu_*() - evolving various other
operations over time. During the process, we also accumulated other
inconsistent operations.
This pull request contains Christoph's patches to clean up the
duplicate accessor situation. __get_cpu_var() uses are replaced with
with this_cpu_ptr() and __this_cpu_ptr() with raw_cpu_ptr().
Unfortunately, the former sometimes is tricky thanks to C being a bit
messy with the distinction between lvalues and pointers, which led to
a rather ugly solution for cpumask_var_t involving the introduction of
this_cpu_cpumask_var_ptr().
This converts most of the uses but not all. Christoph will follow up
with the remaining conversions in this merge window and hopefully
remove the obsolete accessors"
* 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (38 commits)
irqchip: Properly fetch the per cpu offset
percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t -fix
ia64: sn_nodepda cannot be assigned to after this_cpu conversion. Use __this_cpu_write.
percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t
Revert "powerpc: Replace __get_cpu_var uses"
percpu: Remove __this_cpu_ptr
clocksource: Replace __this_cpu_ptr with raw_cpu_ptr
sparc: Replace __get_cpu_var uses
avr32: Replace __get_cpu_var with __this_cpu_write
blackfin: Replace __get_cpu_var uses
tile: Use this_cpu_ptr() for hardware counters
tile: Replace __get_cpu_var uses
powerpc: Replace __get_cpu_var uses
alpha: Replace __get_cpu_var
ia64: Replace __get_cpu_var uses
s390: cio driver &__get_cpu_var replacements
s390: Replace __get_cpu_var uses
mips: Replace __get_cpu_var uses
MIPS: Replace __get_cpu_var uses in FPU emulator.
arm: Replace __this_cpu_ptr with raw_cpu_ptr
...
2014-10-15 07:48:18 +02:00
..
native
sn
ia64: Replace __get_cpu_var uses
2014-08-26 13:45:52 -04:00
uv
ia64: Replace __get_cpu_var uses
2014-08-26 13:45:52 -04:00
acenv.h
ACPICA: Linux: Add support to exclude <asm/acenv.h> inclusion.
2014-07-23 01:10:44 +02:00
acpi-ext.h
acpi.h
ACPI: Don't use acpi_lapic in ACPI core code
2014-07-21 13:50:58 +02:00
agp.h
asm-offsets.h
kbuild: move asm-offsets.h to include/generated
2009-12-12 13:08:14 +01:00
asmmacro.h
Rename .data..patch.XXX to .data..patch.XXX.
2010-03-03 11:25:59 +01:00
atomic.h
locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read()
2014-10-03 06:06:23 +02:00
barrier.h
arch,ia64: Convert smp_mb__*()
2014-04-18 14:20:35 +02:00
bitops.h
arch,ia64: Convert smp_mb__*()
2014-04-18 14:20:35 +02:00
bug.h
bugs.h
cache.h
Rename .data.read_mostly to .data..read_mostly.
2010-03-03 11:26:00 +01:00
cacheflush.h
checksum.h
clocksource.h
clocksource: Change __ARCH_HAS_CLOCKSOURCE_DATA to a CONFIG option
2011-07-21 13:34:05 -07:00
cpu.h
cputime.h
cputime: Generic on-demand virtual cputime accounting
2013-01-27 19:23:27 +01:00
current.h
cyclone.h
delay.h
device.h
driver core / ACPI: Move ACPI support to core device and driver types
2012-11-15 00:28:00 +01:00
div64.h
dma-mapping.h
ia64: dma_debug: add debug_dma_mapping_error support
2012-11-28 15:28:58 +01:00
dma.h
dmi.h
firmware/dmi_scan: generalize for use by other archs
2014-01-23 16:36:57 -08:00
elf.h
default SET_PERSONALITY() in linux/elf.h
2013-02-26 02:46:08 -05:00
emergency-restart.h
esi.h
fb.h
fpswa.h
ftrace.h
[IA64] sanity in #include files. Move fnptr to types.h
2010-01-06 15:52:35 -08:00
futex.h
Wrong asm register contraints in the futex implementation
2013-03-19 16:14:53 -07:00
gcc_intrin.h
UAPI: (Scripted) Disintegrate arch/ia64/include/asm
2012-10-09 09:47:00 +01:00
gpio.h
gpiolib/arches: Centralise bolierplate asm/gpio.h
2012-05-11 18:00:14 -06:00
hardirq.h
[IA64] Move local_softirq_pending() definition
2010-10-19 13:31:11 +02:00
hpsim.h
hpsim, initialize chip for assigned irqs
2012-03-08 12:26:30 -08:00
hugetlb.h
mm/hugetlb: add more arch-defined huge_pte functions
2013-04-29 15:54:33 -07:00
hw_irq.h
ia64: Replace __get_cpu_var uses
2014-08-26 13:45:52 -04:00
idle.h
intrinsics.h
UAPI: (Scripted) Disintegrate arch/ia64/include/asm
2012-10-09 09:47:00 +01:00
io.h
arch/ia64: Define early_memunmap()
2014-07-18 21:23:53 +01:00
iommu.h
iommu: Remove group_mf
2012-06-25 13:48:30 +02:00
iommu_table.h
ia64, iommu: Add a dummy iommu_table.h file in IA64.
2010-10-08 13:11:11 -07:00
iosapic.h
IA64: drivers: remove __dev* attributes.
2013-01-03 15:57:13 -08:00
irq.h
genirq: Make create/destroy_irq() ia64 private
2014-05-16 14:05:21 +02:00
irq_regs.h
irq_remapping.h
iommu: dmar: Provide arch specific irq allocation
2014-05-16 14:05:19 +02:00
irqflags.h
[IA64] Fix include dependency in asm/irqflags.h
2013-06-17 13:39:52 -07:00
Kbuild
irq_work: Introduce arch_irq_work_has_interrupt()
2014-09-13 18:38:07 +02:00
kdebug.h
kexec.h
Disintegrate asm/system.h for IA64
2012-03-28 18:30:02 +01:00
kmap_types.h
kprobes.h
[IA64] sanity in #include files. Move fnptr to types.h
2010-01-06 15:52:35 -08:00
kregs.h
kvm_host.h
KVM: static inline empty kvm_arch functions
2014-08-29 16:35:55 +02:00
libata-portmap.h
linkage.h
consolidate cond_syscall and SYSCALL_ALIAS declarations
2013-03-03 22:55:19 -05:00
local.h
local64.h
arch: Implement local64_t
2010-06-09 11:12:36 +02:00
machvec.h
ia64/xen: Remove Xen support for ia64
2013-12-10 16:11:07 -08:00
machvec_dig.h
[IA64] Rename platform_name to ia64_platform_name
2012-07-25 11:47:16 -07:00
machvec_dig_vtd.h
[IA64] Rename platform_name to ia64_platform_name
2012-07-25 11:47:16 -07:00
machvec_hpsim.h
[IA64] Rename platform_name to ia64_platform_name
2012-07-25 11:47:16 -07:00
machvec_hpzx1.h
[IA64] Rename platform_name to ia64_platform_name
2012-07-25 11:47:16 -07:00
machvec_hpzx1_swiotlb.h
[IA64] Rename platform_name to ia64_platform_name
2012-07-25 11:47:16 -07:00
machvec_init.h
machvec_sn2.h
[IA64] Rename platform_name to ia64_platform_name
2012-07-25 11:47:16 -07:00
machvec_uv.h
[IA64] Rename platform_name to ia64_platform_name
2012-07-25 11:47:16 -07:00
mc146818rtc.h
mca.h
Fix initialization of CMCI/CMCP interrupts
2013-04-02 09:37:06 -07:00
mca_asm.h
Disintegrate asm/system.h for IA64
2012-03-28 18:30:02 +01:00
meminit.h
ia64/xen: Remove Xen support for ia64
2013-12-10 16:11:07 -08:00
mman.h
UAPI: (Scripted) Disintegrate arch/ia64/include/asm
2012-10-09 09:47:00 +01:00
mmu.h
mmu_context.h
mmzone.h
[IA64] removing redundant ifdef
2010-05-18 14:45:52 -07:00
module.h
Make most arch asm/module.h files use asm-generic/module.h
2012-09-28 14:31:03 +09:30
msidef.h
mutex.h
arch: Make __mutex_fastpath_lock_retval return whether fastpath succeeded or not
2013-06-26 12:10:55 +02:00
nodedata.h
numa.h
Fix build error for numa_clear_node() under IA64
2013-04-02 09:39:48 -07:00
page.h
arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area
2014-08-08 15:57:27 -07:00
pal.h
Fix common misspellings
2011-03-31 11:26:23 -03:00
param.h
UAPI: (Scripted) Disintegrate arch/ia64/include/asm
2012-10-09 09:47:00 +01:00
paravirt.h
ia64/xen: Remove Xen support for ia64
2013-12-10 16:11:07 -08:00
paravirt_patch.h
paravirt_privop.h
parport.h
IA64: drivers: remove __dev* attributes.
2013-01-03 15:57:13 -08:00
patch.h
pci.h
PCI: Turn pcibios_penalize_isa_irq() into a weak function
2014-05-27 16:23:58 -06:00
percpu.h
Merge branch 'for-35' of git://repo.or.cz/linux-kbuild
2010-06-01 08:55:52 -07:00
perfmon.h
UAPI: (Scripted) Disintegrate arch/ia64/include/asm
2012-10-09 09:47:00 +01:00
pgalloc.h
ia64: handle pgtable_page_ctor() fail
2013-11-15 09:32:17 +09:00
pgtable.h
consolidate io_remap_pfn_range definitions
2013-06-29 12:46:35 +04:00
processor.h
sched, mips, ia64: Remove __ARCH_WANT_UNLOCKED_CTXSW
2014-09-24 14:47:05 +02:00
ptrace.h
new helper: current_user_stack_pointer()
2012-12-19 18:07:39 -05:00
pvclock-abi.h
ia64/xen: Remove Xen support for ia64
2013-12-10 16:11:07 -08:00
rwsem.h
rwsem: Move duplicate function prototypes to linux/rwsem.h
2011-01-27 12:30:39 +01:00
sal.h
Disintegrate asm/system.h for IA64
2012-03-28 18:30:02 +01:00
sections.h
ia64: remove duplicate declarations of __per_cpu_start[] and __per_cpu_end[]
2014-10-14 02:18:28 +02:00
segment.h
serial.h
shmparam.h
siginfo.h
UAPI: (Scripted) Disintegrate arch/ia64/include/asm
2012-10-09 09:47:00 +01:00
signal.h
consolidate kernel-side struct sigaction declarations
2013-02-03 15:09:22 -05:00
smp.h
IA64: drivers: remove __dev* attributes.
2013-01-03 15:57:13 -08:00
sparsemem.h
spinlock.h
lockref: Implement lockref for Itanium
2013-09-04 17:18:56 -07:00
spinlock_types.h
locking: Convert raw_rwlock to arch_rwlock
2009-12-14 23:55:32 +01:00
string.h
swiotlb.h
switch_to.h
ia64: Replace __get_cpu_var uses
2014-08-26 13:45:52 -04:00
syscall.h
[IA64] Remove COMPAT_IA32 support
2010-02-08 10:42:17 -08:00
termios.h
UAPI: (Scripted) Disintegrate arch/ia64/include/asm
2012-10-09 09:47:00 +01:00
thread_info.h
sched/idle, ia64: Switch from TS_POLLING to TIF_POLLING_NRFLAG
2014-05-08 09:16:55 +02:00
timex.h
tlb.h
mm: split 'tlb_flush_mmu()' into tlb flushing and memory freeing parts
2014-04-25 16:05:40 -07:00
tlbflush.h
topology.h
mm: disable zone_reclaim_mode by default
2014-06-04 16:53:59 -07:00
types.h
UAPI: (Scripted) Disintegrate arch/ia64/include/asm
2012-10-09 09:47:00 +01:00
uaccess.h
unaligned.h
uncached.h
unistd.h
[IA64] Enable bpf syscall for ia64
2014-10-09 13:36:10 -07:00
unwind.h
user.h
ustack.h
UAPI: (Scripted) Disintegrate arch/ia64/include/asm
2012-10-09 09:47:00 +01:00
vga.h
xor.h