Messages in this thread |  | | | Date | Thu, 18 Jun 2009 17:07:16 +0900 | | From | Tejun Heo <> | | Subject | [GIT PULL] percpu for 2.6.31 |
| |
Hello, Linus.
Please pull from percpu-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.git for-linus
This contains two logical changes 1. convert most archs to dynamic percpu allocator and 2. fix x86 lpage allocator and re-enable it. Both have been posted multiple times and shouldn't break most of the popular archs. One known breakage is on parisc which Kyle agreed to fix post merge.
Ingo, does this look okay to you? If so, I'll create for-next branch with the rest of patches and also push other percpu changes through it (Rusty's drop prefix patches and Christoph's this_cpu_* patches) and publish it to linux-next.
Thanks.
Documentation/kernel-parameters.txt | 6 + arch/alpha/include/asm/percpu.h | 101 +--------- arch/alpha/include/asm/tlbflush.h | 1 + arch/arm/kernel/smp.c | 4 +- arch/arm/mach-kirkwood/cpuidle.c | 2 +- arch/avr32/kernel/cpu.c | 2 +- arch/blackfin/mach-common/smp.c | 2 +- arch/blackfin/mm/sram-alloc.c | 22 +- arch/cris/include/asm/mmu_context.h | 3 +- arch/cris/mm/fault.c | 2 +- arch/ia64/Kconfig | 3 + arch/ia64/kernel/crash.c | 2 +- arch/ia64/kernel/smp.c | 4 +- arch/ia64/kernel/traps.c | 2 +- arch/ia64/kvm/kvm-ia64.c | 2 +- arch/ia64/sn/kernel/setup.c | 2 +- arch/ia64/xen/irq_xen.c | 24 ++-- arch/mips/kernel/cevt-bcm1480.c | 6 +- arch/mips/kernel/cevt-sb1250.c | 6 +- arch/mips/kernel/topology.c | 2 +- arch/mips/sgi-ip27/ip27-timer.c | 4 +- arch/parisc/kernel/irq.c | 2 +- arch/parisc/kernel/topology.c | 2 +- arch/powerpc/Kconfig | 3 + arch/powerpc/kernel/cacheinfo.c | 2 +- arch/powerpc/kernel/process.c | 2 +- arch/powerpc/kernel/sysfs.c | 4 +- arch/powerpc/kernel/time.c | 6 +- arch/powerpc/mm/pgtable.c | 2 +- arch/powerpc/mm/stab.c | 4 +- arch/powerpc/oprofile/op_model_cell.c | 2 +- arch/powerpc/platforms/cell/cpufreq_spudemand.c | 2 +- arch/powerpc/platforms/cell/interrupt.c | 2 +- arch/powerpc/platforms/ps3/interrupt.c | 2 +- arch/powerpc/platforms/ps3/smp.c | 2 +- arch/powerpc/platforms/pseries/dtl.c | 2 +- arch/powerpc/platforms/pseries/iommu.c | 2 +- arch/s390/appldata/appldata_base.c | 2 +- arch/s390/include/asm/percpu.h | 32 +--- arch/s390/kernel/nmi.c | 2 +- arch/s390/kernel/smp.c | 2 +- arch/s390/kernel/time.c | 4 +- arch/s390/kernel/vtime.c | 2 +- arch/sh/kernel/localtimer.c | 2 +- arch/sh/kernel/topology.c | 2 +- arch/sparc/Kconfig | 3 + arch/sparc/kernel/nmi.c | 6 +- arch/sparc/kernel/pci_sun4v.c | 2 +- arch/sparc/kernel/sysfs.c | 4 +- arch/sparc/kernel/time_64.c | 4 +- arch/x86/Kconfig | 3 - arch/x86/include/asm/percpu.h | 9 + arch/x86/kernel/apic/apic.c | 2 +- arch/x86/kernel/apic/nmi.c | 8 +- arch/x86/kernel/apic/x2apic_cluster.c | 2 +- arch/x86/kernel/cpu/common.c | 2 +- arch/x86/kernel/cpu/cpu_debug.c | 6 +- arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c | 4 +- arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 2 +- arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c | 4 +- arch/x86/kernel/cpu/intel_cacheinfo.c | 6 +- arch/x86/kernel/cpu/mcheck/mce_amd_64.c | 4 +- arch/x86/kernel/cpu/mcheck/mce_intel_64.c | 2 +- arch/x86/kernel/cpu/mcheck/therm_throt.c | 4 +- arch/x86/kernel/cpu/perf_counter.c | 16 +- arch/x86/kernel/cpu/perfctr-watchdog.c | 2 +- arch/x86/kernel/ds.c | 4 +- arch/x86/kernel/hpet.c | 2 +- arch/x86/kernel/irq_32.c | 8 +- arch/x86/kernel/kvm.c | 2 +- arch/x86/kernel/kvmclock.c | 2 +- arch/x86/kernel/paravirt.c | 2 +- arch/x86/kernel/process_64.c | 2 +- arch/x86/kernel/setup_percpu.c | 219 ++++++++++++++++------ arch/x86/kernel/smpboot.c | 2 +- arch/x86/kernel/tlb_uv.c | 6 +- arch/x86/kernel/topology.c | 2 +- arch/x86/kernel/uv_time.c | 2 +- arch/x86/kernel/vmiclock_32.c | 2 +- arch/x86/kvm/svm.c | 2 +- arch/x86/kvm/vmx.c | 6 +- arch/x86/kvm/x86.c | 2 +- arch/x86/mm/kmemcheck/kmemcheck.c | 2 +- arch/x86/mm/kmmio.c | 2 +- arch/x86/mm/mmio-mod.c | 4 +- arch/x86/mm/pageattr.c | 65 ++++--- arch/x86/oprofile/nmi_int.c | 4 +- arch/x86/xen/enlighten.c | 4 +- arch/x86/xen/multicalls.c | 2 +- arch/x86/xen/smp.c | 8 +- arch/x86/xen/spinlock.c | 4 +- arch/x86/xen/time.c | 10 +- block/as-iosched.c | 10 +- block/blk-softirq.c | 2 +- block/cfq-iosched.c | 10 +- crypto/sha512_generic.c | 2 +- drivers/acpi/processor_core.c | 2 +- drivers/acpi/processor_thermal.c | 2 +- drivers/base/cpu.c | 2 +- drivers/char/random.c | 2 +- drivers/connector/cn_proc.c | 2 +- drivers/cpufreq/cpufreq.c | 8 +- drivers/cpufreq/cpufreq_conservative.c | 12 +- drivers/cpufreq/cpufreq_ondemand.c | 15 +- drivers/cpufreq/cpufreq_stats.c | 2 +- drivers/cpufreq/cpufreq_userspace.c | 11 +- drivers/cpufreq/freq_table.c | 2 +- drivers/cpuidle/governors/ladder.c | 2 +- drivers/cpuidle/governors/menu.c | 2 +- drivers/crypto/padlock-aes.c | 2 +- drivers/lguest/page_tables.c | 2 +- drivers/lguest/x86/core.c | 2 +- drivers/xen/events.c | 13 +- fs/buffer.c | 4 +- fs/file.c | 2 +- include/linux/percpu-defs.h | 10 +- include/linux/percpu.h | 12 +- init/main.c | 24 --- kernel/kprobes.c | 2 +- kernel/lockdep.c | 2 +- kernel/module.c | 6 +- kernel/perf_counter.c | 8 +- kernel/printk.c | 2 +- kernel/profile.c | 4 +- kernel/rcuclassic.c | 4 +- kernel/rcupdate.c | 2 +- kernel/rcupreempt.c | 10 +- kernel/rcutorture.c | 4 +- kernel/sched.c | 30 ++-- kernel/sched_clock.c | 2 +- kernel/sched_rt.c | 2 +- kernel/smp.c | 6 +- kernel/softirq.c | 6 +- kernel/softlockup.c | 6 +- kernel/taskstats.c | 4 +- kernel/time/tick-sched.c | 2 +- kernel/time/timer_stats.c | 2 +- kernel/timer.c | 2 +- kernel/trace/ftrace.c | 2 +- kernel/trace/ring_buffer.c | 2 +- kernel/trace/trace.c | 6 +- kernel/trace/trace_events.c | 6 +- kernel/trace/trace_hw_branches.c | 4 +- kernel/trace/trace_irqsoff.c | 2 +- kernel/trace/trace_stack.c | 2 +- kernel/trace/trace_sysprof.c | 2 +- kernel/trace/trace_workqueue.c | 2 +- lib/radix-tree.c | 2 +- lib/random32.c | 2 +- mm/Makefile | 2 +- mm/allocpercpu.c | 28 +++ mm/kmemleak-test.c | 6 +- mm/page-writeback.c | 5 +- mm/percpu.c | 64 ++++++- mm/quicklist.c | 2 +- mm/slab.c | 4 +- mm/slub.c | 6 +- mm/swap.c | 4 +- mm/vmalloc.c | 2 +- mm/vmstat.c | 2 +- net/core/drop_monitor.c | 2 +- net/core/flow.c | 6 +- net/core/sock.c | 2 +- net/ipv4/route.c | 2 +- net/ipv4/syncookies.c | 4 +- net/ipv6/syncookies.c | 4 +- net/rds/ib_stats.c | 2 +- net/rds/iw_stats.c | 2 +- net/rds/page.c | 2 +- net/socket.c | 2 +- 170 files changed, 653 insertions(+), 553 deletions(-) Jesper Nilsson (1): CRIS: Change DEFINE_PER_CPU of current_pgd to be non volatile.
Tejun Heo (16): percpu: fix too lazy vunmap cache flushing percpu: use dynamic percpu allocator as the default percpu allocator percpu: cleanup percpu array definitions use-percpu-aligned percpu: clean up percpu variable definitions percpu: enforce global definition alpha: kill unnecessary __used attribute in PER_CPU_ATTRIBUTES alpha: switch to dynamic percpu allocator s390: switch to dynamic percpu allocator x86: fix duplicate free in setup_pcpu_remap() failure path x86: rename remap percpu first chunk allocator to lpage x86: prepare setup_pcpu_lpage() for pageattr fix x86: reorganize cpa_process_alias() x86: fix pageattr handling for lpage percpu allocator and re-enable it x86: implement percpu_alloc kernel parameter x86: ensure percpu lpage doesn't consume too much vmalloc space
-- tejun
|  |