Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 17 Apr 2009 16:56:11 +0000 (09:56 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 17 Apr 2009 16:56:11 +0000 (09:56 -0700)
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: fix microcode driver newly spewing warnings
  x86, PAT: Remove page granularity tracking for vm_insert_pfn maps
  x86: disable X86_PTRACE_BTS for now
  x86, documentation: kernel-parameters replace X86-32,X86-64 with X86
  x86: pci-swiotlb.c swiotlb_dma_ops should be static
  x86, PAT: Remove duplicate memtype reserve in devmem mmap
  x86, PAT: Consolidate code in pat_x_mtrr_type() and reserve_memtype()
  x86, PAT: Changing memtype to WC ensuring no WB alias
  x86, PAT: Handle faults cleanly in set_memory_ APIs
  x86, PAT: Change order of cpa and free in set_memory_wb
  x86, CPA: Change idmap attribute before ioremap attribute setup

1083 files changed:
Documentation/ABI/testing/debugfs-pktcdvd
Documentation/DocBook/Makefile
Documentation/block/biodoc.txt
Documentation/cgroups/cpuacct.txt
Documentation/cgroups/memory.txt
Documentation/cgroups/resource_counter.txt
Documentation/feature-removal-schedule.txt
Documentation/infiniband/ipoib.txt
Documentation/input/rotary-encoder.txt [new file with mode: 0644]
Documentation/kbuild/makefiles.txt
Documentation/networking/bonding.txt
Documentation/powerpc/dts-bindings/fsl/i2c.txt
Documentation/sound/alsa/HD-Audio.txt
Documentation/sparse.txt
Documentation/sysctl/net.txt
Documentation/tomoyo.txt [new file with mode: 0644]
Documentation/trace/ftrace.txt [moved from Documentation/ftrace.txt with 100% similarity]
Documentation/trace/kmemtrace.txt [moved from Documentation/vm/kmemtrace.txt with 100% similarity]
Documentation/trace/mmiotrace.txt [moved from Documentation/tracers/mmiotrace.txt with 100% similarity]
Documentation/trace/tracepoints.txt [moved from Documentation/tracepoints.txt with 100% similarity]
Documentation/vm/00-INDEX
Documentation/vm/active_mm.txt [new file with mode: 0644]
Documentation/vm/unevictable-lru.txt
MAINTAINERS
Makefile
arch/Kconfig
arch/arm/configs/magician_defconfig
arch/arm/include/asm/sizes.h
arch/arm/mach-at91/include/mach/board.h
arch/arm/mach-omap1/clock.c
arch/arm/mach-omap2/usb-musb.c
arch/arm/mach-pxa/Kconfig
arch/arm/mach-pxa/Makefile
arch/arm/mach-pxa/cm-x2xx.c
arch/arm/mach-pxa/colibri-pxa300.c
arch/arm/mach-pxa/colibri-pxa320.c
arch/arm/mach-pxa/colibri-pxa3xx.c
arch/arm/mach-pxa/csb701.c
arch/arm/mach-pxa/e740.c
arch/arm/mach-pxa/e750.c
arch/arm/mach-pxa/e800.c
arch/arm/mach-pxa/em-x270.c
arch/arm/mach-pxa/include/mach/colibri.h
arch/arm/mach-pxa/include/mach/magician.h
arch/arm/mach-pxa/include/mach/palmld.h
arch/arm/mach-pxa/include/mach/palmt5.h
arch/arm/mach-pxa/include/mach/palmte2.h [new file with mode: 0644]
arch/arm/mach-pxa/include/mach/palmtx.h
arch/arm/mach-pxa/magician.c
arch/arm/mach-pxa/mioa701.c
arch/arm/mach-pxa/palmld.c
arch/arm/mach-pxa/palmt5.c
arch/arm/mach-pxa/palmte2.c [new file with mode: 0644]
arch/arm/mach-pxa/palmtx.c
arch/arm/mach-pxa/tosa.c
arch/arm/mm/mmu.c
arch/frv/include/asm/Kbuild [moved from include/asm-frv/Kbuild with 100% similarity]
arch/frv/include/asm/atomic.h [moved from include/asm-frv/atomic.h with 100% similarity]
arch/frv/include/asm/auxvec.h [moved from include/asm-frv/auxvec.h with 100% similarity]
arch/frv/include/asm/ax88796.h [moved from include/asm-frv/ax88796.h with 100% similarity]
arch/frv/include/asm/bitops.h [moved from include/asm-frv/bitops.h with 100% similarity]
arch/frv/include/asm/bug.h [moved from include/asm-frv/bug.h with 100% similarity]
arch/frv/include/asm/bugs.h [moved from include/asm-frv/bugs.h with 100% similarity]
arch/frv/include/asm/busctl-regs.h [moved from include/asm-frv/busctl-regs.h with 100% similarity]
arch/frv/include/asm/byteorder.h [moved from include/asm-frv/byteorder.h with 100% similarity]
arch/frv/include/asm/cache.h [moved from include/asm-frv/cache.h with 100% similarity]
arch/frv/include/asm/cacheflush.h [moved from include/asm-frv/cacheflush.h with 100% similarity]
arch/frv/include/asm/checksum.h [moved from include/asm-frv/checksum.h with 100% similarity]
arch/frv/include/asm/cpu-irqs.h [moved from include/asm-frv/cpu-irqs.h with 100% similarity]
arch/frv/include/asm/cpumask.h [moved from include/asm-frv/cpumask.h with 100% similarity]
arch/frv/include/asm/cputime.h [moved from include/asm-frv/cputime.h with 100% similarity]
arch/frv/include/asm/current.h [moved from include/asm-frv/current.h with 100% similarity]
arch/frv/include/asm/delay.h [moved from include/asm-frv/delay.h with 100% similarity]
arch/frv/include/asm/device.h [moved from include/asm-frv/device.h with 100% similarity]
arch/frv/include/asm/div64.h [moved from include/asm-frv/div64.h with 100% similarity]
arch/frv/include/asm/dm9000.h [moved from include/asm-frv/dm9000.h with 100% similarity]
arch/frv/include/asm/dma-mapping.h [moved from include/asm-frv/dma-mapping.h with 100% similarity]
arch/frv/include/asm/dma.h [moved from include/asm-frv/dma.h with 100% similarity]
arch/frv/include/asm/elf.h [moved from include/asm-frv/elf.h with 100% similarity]
arch/frv/include/asm/emergency-restart.h [moved from include/asm-frv/emergency-restart.h with 100% similarity]
arch/frv/include/asm/errno.h [moved from include/asm-frv/errno.h with 100% similarity]
arch/frv/include/asm/fb.h [moved from include/asm-frv/fb.h with 100% similarity]
arch/frv/include/asm/fcntl.h [moved from include/asm-frv/fcntl.h with 100% similarity]
arch/frv/include/asm/fpu.h [moved from include/asm-frv/fpu.h with 100% similarity]
arch/frv/include/asm/ftrace.h [moved from include/asm-frv/ftrace.h with 100% similarity]
arch/frv/include/asm/futex.h [moved from include/asm-frv/futex.h with 100% similarity]
arch/frv/include/asm/gdb-stub.h [moved from include/asm-frv/gdb-stub.h with 100% similarity]
arch/frv/include/asm/gpio-regs.h [moved from include/asm-frv/gpio-regs.h with 100% similarity]
arch/frv/include/asm/hardirq.h [moved from include/asm-frv/hardirq.h with 100% similarity]
arch/frv/include/asm/highmem.h [moved from include/asm-frv/highmem.h with 100% similarity]
arch/frv/include/asm/hw_irq.h [moved from include/asm-frv/hw_irq.h with 100% similarity]
arch/frv/include/asm/init.h [moved from include/asm-frv/init.h with 100% similarity]
arch/frv/include/asm/io.h [moved from include/asm-frv/io.h with 100% similarity]
arch/frv/include/asm/ioctl.h [moved from include/asm-frv/ioctl.h with 100% similarity]
arch/frv/include/asm/ioctls.h [moved from include/asm-frv/ioctls.h with 100% similarity]
arch/frv/include/asm/ipcbuf.h [moved from include/asm-frv/ipcbuf.h with 100% similarity]
arch/frv/include/asm/irc-regs.h [moved from include/asm-frv/irc-regs.h with 100% similarity]
arch/frv/include/asm/irq.h [moved from include/asm-frv/irq.h with 100% similarity]
arch/frv/include/asm/irq_regs.h [moved from include/asm-frv/irq_regs.h with 100% similarity]
arch/frv/include/asm/kdebug.h [moved from include/asm-frv/kdebug.h with 100% similarity]
arch/frv/include/asm/kmap_types.h [moved from include/asm-frv/kmap_types.h with 100% similarity]
arch/frv/include/asm/linkage.h [moved from include/asm-frv/linkage.h with 100% similarity]
arch/frv/include/asm/local.h [moved from include/asm-frv/local.h with 100% similarity]
arch/frv/include/asm/math-emu.h [moved from include/asm-frv/math-emu.h with 100% similarity]
arch/frv/include/asm/mb-regs.h [moved from include/asm-frv/mb-regs.h with 100% similarity]
arch/frv/include/asm/mb86943a.h [moved from include/asm-frv/mb86943a.h with 100% similarity]
arch/frv/include/asm/mb93091-fpga-irqs.h [moved from include/asm-frv/mb93091-fpga-irqs.h with 100% similarity]
arch/frv/include/asm/mb93093-fpga-irqs.h [moved from include/asm-frv/mb93093-fpga-irqs.h with 100% similarity]
arch/frv/include/asm/mb93493-irqs.h [moved from include/asm-frv/mb93493-irqs.h with 100% similarity]
arch/frv/include/asm/mb93493-regs.h [moved from include/asm-frv/mb93493-regs.h with 100% similarity]
arch/frv/include/asm/mc146818rtc.h [moved from include/asm-frv/mc146818rtc.h with 100% similarity]
arch/frv/include/asm/mem-layout.h [moved from include/asm-frv/mem-layout.h with 100% similarity]
arch/frv/include/asm/mman.h [moved from include/asm-frv/mman.h with 100% similarity]
arch/frv/include/asm/mmu.h [moved from include/asm-frv/mmu.h with 100% similarity]
arch/frv/include/asm/mmu_context.h [moved from include/asm-frv/mmu_context.h with 100% similarity]
arch/frv/include/asm/module.h [moved from include/asm-frv/module.h with 100% similarity]
arch/frv/include/asm/msgbuf.h [moved from include/asm-frv/msgbuf.h with 100% similarity]
arch/frv/include/asm/mutex.h [moved from include/asm-frv/mutex.h with 100% similarity]
arch/frv/include/asm/page.h [moved from include/asm-frv/page.h with 100% similarity]
arch/frv/include/asm/param.h [moved from include/asm-frv/param.h with 100% similarity]
arch/frv/include/asm/pci.h [moved from include/asm-frv/pci.h with 100% similarity]
arch/frv/include/asm/percpu.h [moved from include/asm-frv/percpu.h with 100% similarity]
arch/frv/include/asm/pgalloc.h [moved from include/asm-frv/pgalloc.h with 100% similarity]
arch/frv/include/asm/pgtable.h [moved from include/asm-frv/pgtable.h with 98% similarity]
arch/frv/include/asm/poll.h [moved from include/asm-frv/poll.h with 100% similarity]
arch/frv/include/asm/posix_types.h [moved from include/asm-frv/posix_types.h with 100% similarity]
arch/frv/include/asm/processor.h [moved from include/asm-frv/processor.h with 100% similarity]
arch/frv/include/asm/ptrace.h [moved from include/asm-frv/ptrace.h with 100% similarity]
arch/frv/include/asm/registers.h [moved from include/asm-frv/registers.h with 100% similarity]
arch/frv/include/asm/resource.h [moved from include/asm-frv/resource.h with 100% similarity]
arch/frv/include/asm/scatterlist.h [moved from include/asm-frv/scatterlist.h with 100% similarity]
arch/frv/include/asm/sections.h [moved from include/asm-frv/sections.h with 100% similarity]
arch/frv/include/asm/segment.h [moved from include/asm-frv/segment.h with 100% similarity]
arch/frv/include/asm/sembuf.h [moved from include/asm-frv/sembuf.h with 100% similarity]
arch/frv/include/asm/serial-regs.h [moved from include/asm-frv/serial-regs.h with 100% similarity]
arch/frv/include/asm/serial.h [moved from include/asm-frv/serial.h with 100% similarity]
arch/frv/include/asm/setup.h [moved from include/asm-frv/setup.h with 100% similarity]
arch/frv/include/asm/shmbuf.h [moved from include/asm-frv/shmbuf.h with 100% similarity]
arch/frv/include/asm/shmparam.h [moved from include/asm-frv/shmparam.h with 100% similarity]
arch/frv/include/asm/sigcontext.h [moved from include/asm-frv/sigcontext.h with 100% similarity]
arch/frv/include/asm/siginfo.h [moved from include/asm-frv/siginfo.h with 100% similarity]
arch/frv/include/asm/signal.h [moved from include/asm-frv/signal.h with 100% similarity]
arch/frv/include/asm/smp.h [moved from include/asm-frv/smp.h with 100% similarity]
arch/frv/include/asm/socket.h [moved from include/asm-frv/socket.h with 100% similarity]
arch/frv/include/asm/sockios.h [moved from include/asm-frv/sockios.h with 100% similarity]
arch/frv/include/asm/spinlock.h [moved from include/asm-frv/spinlock.h with 100% similarity]
arch/frv/include/asm/spr-regs.h [moved from include/asm-frv/spr-regs.h with 100% similarity]
arch/frv/include/asm/stat.h [moved from include/asm-frv/stat.h with 100% similarity]
arch/frv/include/asm/statfs.h [moved from include/asm-frv/statfs.h with 100% similarity]
arch/frv/include/asm/string.h [moved from include/asm-frv/string.h with 100% similarity]
arch/frv/include/asm/suspend.h [moved from include/asm-frv/suspend.h with 100% similarity]
arch/frv/include/asm/swab.h [moved from include/asm-frv/swab.h with 100% similarity]
arch/frv/include/asm/system.h [moved from include/asm-frv/system.h with 100% similarity]
arch/frv/include/asm/termbits.h [moved from include/asm-frv/termbits.h with 100% similarity]
arch/frv/include/asm/termios.h [moved from include/asm-frv/termios.h with 100% similarity]
arch/frv/include/asm/thread_info.h [moved from include/asm-frv/thread_info.h with 97% similarity]
arch/frv/include/asm/timer-regs.h [moved from include/asm-frv/timer-regs.h with 100% similarity]
arch/frv/include/asm/timex.h [moved from include/asm-frv/timex.h with 100% similarity]
arch/frv/include/asm/tlb.h [moved from include/asm-frv/tlb.h with 100% similarity]
arch/frv/include/asm/tlbflush.h [moved from include/asm-frv/tlbflush.h with 100% similarity]
arch/frv/include/asm/topology.h [moved from include/asm-frv/topology.h with 100% similarity]
arch/frv/include/asm/types.h [moved from include/asm-frv/types.h with 100% similarity]
arch/frv/include/asm/uaccess.h [moved from include/asm-frv/uaccess.h with 100% similarity]
arch/frv/include/asm/ucontext.h [moved from include/asm-frv/ucontext.h with 100% similarity]
arch/frv/include/asm/unaligned.h [moved from include/asm-frv/unaligned.h with 100% similarity]
arch/frv/include/asm/unistd.h [moved from include/asm-frv/unistd.h with 100% similarity]
arch/frv/include/asm/user.h [moved from include/asm-frv/user.h with 100% similarity]
arch/frv/include/asm/vga.h [moved from include/asm-frv/vga.h with 100% similarity]
arch/frv/include/asm/virtconvert.h [moved from include/asm-frv/virtconvert.h with 100% similarity]
arch/frv/include/asm/xor.h [moved from include/asm-frv/xor.h with 100% similarity]
arch/ia64/include/asm/unistd.h
arch/ia64/kernel/entry.S
arch/ia64/kernel/pci-swiotlb.c
arch/microblaze/Kconfig [new file with mode: 0644]
arch/microblaze/Kconfig.debug [new file with mode: 0644]
arch/microblaze/Makefile [new file with mode: 0644]
arch/microblaze/boot/Makefile [new file with mode: 0644]
arch/microblaze/configs/nommu_defconfig [new file with mode: 0644]
arch/microblaze/include/asm/Kbuild [new file with mode: 0644]
arch/microblaze/include/asm/atomic.h [new file with mode: 0644]
arch/microblaze/include/asm/auxvec.h [new file with mode: 0644]
arch/microblaze/include/asm/bitops.h [new file with mode: 0644]
arch/microblaze/include/asm/bug.h [new file with mode: 0644]
arch/microblaze/include/asm/bugs.h [new file with mode: 0644]
arch/microblaze/include/asm/byteorder.h [new file with mode: 0644]
arch/microblaze/include/asm/cache.h [new file with mode: 0644]
arch/microblaze/include/asm/cacheflush.h [new file with mode: 0644]
arch/microblaze/include/asm/checksum.h [new file with mode: 0644]
arch/microblaze/include/asm/clinkage.h [new file with mode: 0644]
arch/microblaze/include/asm/cpuinfo.h [new file with mode: 0644]
arch/microblaze/include/asm/cputable.h [new file with mode: 0644]
arch/microblaze/include/asm/cputime.h [moved from include/asm-mn10300/cputime.h with 100% similarity]
arch/microblaze/include/asm/current.h [new file with mode: 0644]
arch/microblaze/include/asm/delay.h [new file with mode: 0644]
arch/microblaze/include/asm/device.h [new file with mode: 0644]
arch/microblaze/include/asm/div64.h [new file with mode: 0644]
arch/microblaze/include/asm/dma-mapping.h [new file with mode: 0644]
arch/microblaze/include/asm/dma.h [new file with mode: 0644]
arch/microblaze/include/asm/elf.h [new file with mode: 0644]
arch/microblaze/include/asm/emergency-restart.h [moved from include/asm-mn10300/emergency-restart.h with 100% similarity]
arch/microblaze/include/asm/entry.h [new file with mode: 0644]
arch/microblaze/include/asm/errno.h [moved from include/asm-mn10300/errno.h with 100% similarity]
arch/microblaze/include/asm/exceptions.h [new file with mode: 0644]
arch/microblaze/include/asm/fcntl.h [moved from include/asm-mn10300/fcntl.h with 100% similarity]
arch/microblaze/include/asm/flat.h [new file with mode: 0644]
arch/microblaze/include/asm/ftrace.h [new file with mode: 0644]
arch/microblaze/include/asm/futex.h [moved from include/asm-mn10300/futex.h with 100% similarity]
arch/microblaze/include/asm/gpio.h [new file with mode: 0644]
arch/microblaze/include/asm/hardirq.h [new file with mode: 0644]
arch/microblaze/include/asm/hw_irq.h [new file with mode: 0644]
arch/microblaze/include/asm/io.h [new file with mode: 0644]
arch/microblaze/include/asm/ioctl.h [moved from include/asm-mn10300/ioctl.h with 100% similarity]
arch/microblaze/include/asm/ioctls.h [new file with mode: 0644]
arch/microblaze/include/asm/ipc.h [moved from include/asm-mn10300/ipc.h with 100% similarity]
arch/microblaze/include/asm/ipcbuf.h [new file with mode: 0644]
arch/microblaze/include/asm/irq.h [new file with mode: 0644]
arch/microblaze/include/asm/irq_regs.h [new file with mode: 0644]
arch/microblaze/include/asm/irqflags.h [new file with mode: 0644]
arch/microblaze/include/asm/kdebug.h [new file with mode: 0644]
arch/microblaze/include/asm/kmap_types.h [new file with mode: 0644]
arch/microblaze/include/asm/linkage.h [new file with mode: 0644]
arch/microblaze/include/asm/lmb.h [new file with mode: 0644]
arch/microblaze/include/asm/local.h [moved from include/asm-mn10300/local.h with 100% similarity]
arch/microblaze/include/asm/mman.h [new file with mode: 0644]
arch/microblaze/include/asm/mmu.h [new file with mode: 0644]
arch/microblaze/include/asm/mmu_context.h [new file with mode: 0644]
arch/microblaze/include/asm/module.h [new file with mode: 0644]
arch/microblaze/include/asm/msgbuf.h [new file with mode: 0644]
arch/microblaze/include/asm/mutex.h [new file with mode: 0644]
arch/microblaze/include/asm/namei.h [new file with mode: 0644]
arch/microblaze/include/asm/of_device.h [new file with mode: 0644]
arch/microblaze/include/asm/of_platform.h [new file with mode: 0644]
arch/microblaze/include/asm/page.h [new file with mode: 0644]
arch/microblaze/include/asm/param.h [new file with mode: 0644]
arch/microblaze/include/asm/pci-bridge.h [new file with mode: 0644]
arch/microblaze/include/asm/pci.h [new file with mode: 0644]
arch/microblaze/include/asm/percpu.h [moved from include/asm-mn10300/percpu.h with 100% similarity]
arch/microblaze/include/asm/pgalloc.h [new file with mode: 0644]
arch/microblaze/include/asm/pgtable.h [new file with mode: 0644]
arch/microblaze/include/asm/poll.h [moved from include/asm-mn10300/poll.h with 100% similarity]
arch/microblaze/include/asm/posix_types.h [new file with mode: 0644]
arch/microblaze/include/asm/processor.h [new file with mode: 0644]
arch/microblaze/include/asm/prom.h [new file with mode: 0644]
arch/microblaze/include/asm/ptrace.h [new file with mode: 0644]
arch/microblaze/include/asm/pvr.h [new file with mode: 0644]
arch/microblaze/include/asm/registers.h [new file with mode: 0644]
arch/microblaze/include/asm/resource.h [moved from include/asm-mn10300/resource.h with 100% similarity]
arch/microblaze/include/asm/scatterlist.h [new file with mode: 0644]
arch/microblaze/include/asm/sections.h [new file with mode: 0644]
arch/microblaze/include/asm/segment.h [new file with mode: 0644]
arch/microblaze/include/asm/selfmod.h [new file with mode: 0644]
arch/microblaze/include/asm/sembuf.h [new file with mode: 0644]
arch/microblaze/include/asm/serial.h [new file with mode: 0644]
arch/microblaze/include/asm/setup.h [new file with mode: 0644]
arch/microblaze/include/asm/shmbuf.h [new file with mode: 0644]
arch/microblaze/include/asm/shmparam.h [new file with mode: 0644]
arch/microblaze/include/asm/sigcontext.h [new file with mode: 0644]
arch/microblaze/include/asm/siginfo.h [new file with mode: 0644]
arch/microblaze/include/asm/signal.h [new file with mode: 0644]
arch/microblaze/include/asm/socket.h [new file with mode: 0644]
arch/microblaze/include/asm/sockios.h [new file with mode: 0644]
arch/microblaze/include/asm/stat.h [new file with mode: 0644]
arch/microblaze/include/asm/statfs.h [moved from include/asm-mn10300/statfs.h with 100% similarity]
arch/microblaze/include/asm/string.h [new file with mode: 0644]
arch/microblaze/include/asm/swab.h [new file with mode: 0644]
arch/microblaze/include/asm/syscalls.h [new file with mode: 0644]
arch/microblaze/include/asm/system.h [new file with mode: 0644]
arch/microblaze/include/asm/termbits.h [new file with mode: 0644]
arch/microblaze/include/asm/termios.h [new file with mode: 0644]
arch/microblaze/include/asm/thread_info.h [new file with mode: 0644]
arch/microblaze/include/asm/timex.h [new file with mode: 0644]
arch/microblaze/include/asm/tlb.h [new file with mode: 0644]
arch/microblaze/include/asm/tlbflush.h [new file with mode: 0644]
arch/microblaze/include/asm/topology.h [new file with mode: 0644]
arch/microblaze/include/asm/types.h [new file with mode: 0644]
arch/microblaze/include/asm/uaccess.h [new file with mode: 0644]
arch/microblaze/include/asm/ucontext.h [new file with mode: 0644]
arch/microblaze/include/asm/unaligned.h [new file with mode: 0644]
arch/microblaze/include/asm/unistd.h [new file with mode: 0644]
arch/microblaze/include/asm/user.h [new file with mode: 0644]
arch/microblaze/include/asm/vga.h [new file with mode: 0644]
arch/microblaze/include/asm/xor.h [moved from include/asm-mn10300/xor.h with 100% similarity]
arch/microblaze/kernel/Makefile [new file with mode: 0644]
arch/microblaze/kernel/asm-offsets.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/Makefile [new file with mode: 0644]
arch/microblaze/kernel/cpu/cache.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/cpuinfo-static.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/cpuinfo.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/mb.c [new file with mode: 0644]
arch/microblaze/kernel/cpu/pvr.c [new file with mode: 0644]
arch/microblaze/kernel/early_printk.c [new file with mode: 0644]
arch/microblaze/kernel/entry-nommu.S [new file with mode: 0644]
arch/microblaze/kernel/exceptions.c [new file with mode: 0644]
arch/microblaze/kernel/head.S [new file with mode: 0644]
arch/microblaze/kernel/heartbeat.c [new file with mode: 0644]
arch/microblaze/kernel/hw_exception_handler.S [new file with mode: 0644]
arch/microblaze/kernel/init_task.c [new file with mode: 0644]
arch/microblaze/kernel/intc.c [new file with mode: 0644]
arch/microblaze/kernel/irq.c [new file with mode: 0644]
arch/microblaze/kernel/microblaze_ksyms.c [new file with mode: 0644]
arch/microblaze/kernel/module.c [new file with mode: 0644]
arch/microblaze/kernel/of_device.c [new file with mode: 0644]
arch/microblaze/kernel/of_platform.c [new file with mode: 0644]
arch/microblaze/kernel/process.c [new file with mode: 0644]
arch/microblaze/kernel/prom.c [new file with mode: 0644]
arch/microblaze/kernel/prom_parse.c [new file with mode: 0644]
arch/microblaze/kernel/ptrace.c [new file with mode: 0644]
arch/microblaze/kernel/selfmod.c [new file with mode: 0644]
arch/microblaze/kernel/setup.c [new file with mode: 0644]
arch/microblaze/kernel/signal.c [new file with mode: 0644]
arch/microblaze/kernel/sys_microblaze.c [new file with mode: 0644]
arch/microblaze/kernel/syscall_table.S [new file with mode: 0644]
arch/microblaze/kernel/timer.c [new file with mode: 0644]
arch/microblaze/kernel/traps.c [new file with mode: 0644]
arch/microblaze/kernel/vmlinux.lds.S [new file with mode: 0644]
arch/microblaze/lib/Makefile [new file with mode: 0644]
arch/microblaze/lib/checksum.c [new file with mode: 0644]
arch/microblaze/lib/fastcopy.S [new file with mode: 0644]
arch/microblaze/lib/memcpy.c [new file with mode: 0644]
arch/microblaze/lib/memmove.c [new file with mode: 0644]
arch/microblaze/lib/memset.c [new file with mode: 0644]
arch/microblaze/lib/uaccess.c [new file with mode: 0644]
arch/microblaze/mm/Makefile [new file with mode: 0644]
arch/microblaze/mm/init.c [new file with mode: 0644]
arch/microblaze/platform/Kconfig.platform [new file with mode: 0644]
arch/microblaze/platform/Makefile [new file with mode: 0644]
arch/microblaze/platform/generic/Kconfig.auto [new file with mode: 0644]
arch/microblaze/platform/generic/Makefile [new file with mode: 0644]
arch/microblaze/platform/generic/system.dts [new file with mode: 0644]
arch/microblaze/platform/platform.c [new file with mode: 0644]
arch/mips/include/asm/mach-rc32434/gpio.h
arch/mips/rb532/devices.c
arch/mn10300/Kconfig
arch/mn10300/Makefile
arch/mn10300/include/asm/Kbuild [moved from include/asm-mn10300/Kbuild with 100% similarity]
arch/mn10300/include/asm/atomic.h [moved from include/asm-mn10300/atomic.h with 100% similarity]
arch/mn10300/include/asm/auxvec.h [moved from include/asm-mn10300/auxvec.h with 100% similarity]
arch/mn10300/include/asm/bitops.h [moved from include/asm-mn10300/bitops.h with 100% similarity]
arch/mn10300/include/asm/bug.h [moved from include/asm-mn10300/bug.h with 91% similarity]
arch/mn10300/include/asm/bugs.h [moved from include/asm-mn10300/bugs.h with 100% similarity]
arch/mn10300/include/asm/busctl-regs.h [moved from include/asm-mn10300/busctl-regs.h with 100% similarity]
arch/mn10300/include/asm/byteorder.h [moved from include/asm-mn10300/byteorder.h with 100% similarity]
arch/mn10300/include/asm/cache.h [moved from include/asm-mn10300/cache.h with 98% similarity]
arch/mn10300/include/asm/cacheflush.h [moved from include/asm-mn10300/cacheflush.h with 100% similarity]
arch/mn10300/include/asm/checksum.h [moved from include/asm-mn10300/checksum.h with 100% similarity]
arch/mn10300/include/asm/cpu-regs.h [moved from include/asm-mn10300/cpu-regs.h with 100% similarity]
arch/mn10300/include/asm/cputime.h [new file with mode: 0644]
arch/mn10300/include/asm/current.h [moved from include/asm-mn10300/current.h with 100% similarity]
arch/mn10300/include/asm/delay.h [moved from include/asm-mn10300/delay.h with 100% similarity]
arch/mn10300/include/asm/device.h [moved from include/asm-mn10300/device.h with 100% similarity]
arch/mn10300/include/asm/div64.h [moved from include/asm-mn10300/div64.h with 100% similarity]
arch/mn10300/include/asm/dma-mapping.h [moved from include/asm-mn10300/dma-mapping.h with 100% similarity]
arch/mn10300/include/asm/dma.h [moved from include/asm-mn10300/dma.h with 100% similarity]
arch/mn10300/include/asm/dmactl-regs.h [moved from include/asm-mn10300/dmactl-regs.h with 100% similarity]
arch/mn10300/include/asm/elf.h [moved from include/asm-mn10300/elf.h with 100% similarity]
arch/mn10300/include/asm/emergency-restart.h [new file with mode: 0644]
arch/mn10300/include/asm/errno.h [new file with mode: 0644]
arch/mn10300/include/asm/exceptions.h [moved from include/asm-mn10300/exceptions.h with 100% similarity]
arch/mn10300/include/asm/fb.h [moved from include/asm-mn10300/fb.h with 100% similarity]
arch/mn10300/include/asm/fcntl.h [new file with mode: 0644]
arch/mn10300/include/asm/fpu.h [moved from include/asm-mn10300/fpu.h with 100% similarity]
arch/mn10300/include/asm/frame.inc [moved from include/asm-mn10300/frame.inc with 100% similarity]
arch/mn10300/include/asm/ftrace.h [moved from include/asm-mn10300/ftrace.h with 100% similarity]
arch/mn10300/include/asm/futex.h [new file with mode: 0644]
arch/mn10300/include/asm/gdb-stub.h [moved from include/asm-mn10300/gdb-stub.h with 100% similarity]
arch/mn10300/include/asm/hardirq.h [moved from include/asm-mn10300/hardirq.h with 100% similarity]
arch/mn10300/include/asm/highmem.h [moved from include/asm-mn10300/highmem.h with 100% similarity]
arch/mn10300/include/asm/hw_irq.h [moved from include/asm-mn10300/hw_irq.h with 100% similarity]
arch/mn10300/include/asm/intctl-regs.h [moved from include/asm-mn10300/intctl-regs.h with 100% similarity]
arch/mn10300/include/asm/io.h [moved from include/asm-mn10300/io.h with 100% similarity]
arch/mn10300/include/asm/ioctl.h [new file with mode: 0644]
arch/mn10300/include/asm/ioctls.h [moved from include/asm-mn10300/ioctls.h with 100% similarity]
arch/mn10300/include/asm/ipc.h [new file with mode: 0644]
arch/mn10300/include/asm/ipcbuf.h [moved from include/asm-mn10300/ipcbuf.h with 100% similarity]
arch/mn10300/include/asm/irq.h [moved from include/asm-mn10300/irq.h with 97% similarity]
arch/mn10300/include/asm/irq_regs.h [moved from include/asm-mn10300/irq_regs.h with 100% similarity]
arch/mn10300/include/asm/kdebug.h [moved from include/asm-mn10300/kdebug.h with 100% similarity]
arch/mn10300/include/asm/kmap_types.h [moved from include/asm-mn10300/kmap_types.h with 100% similarity]
arch/mn10300/include/asm/kprobes.h [moved from include/asm-mn10300/kprobes.h with 100% similarity]
arch/mn10300/include/asm/linkage.h [moved from include/asm-mn10300/linkage.h with 100% similarity]
arch/mn10300/include/asm/local.h [new file with mode: 0644]
arch/mn10300/include/asm/mc146818rtc.h [moved from include/asm-mn10300/mc146818rtc.h with 100% similarity]
arch/mn10300/include/asm/mman.h [moved from include/asm-mn10300/mman.h with 100% similarity]
arch/mn10300/include/asm/mmu.h [moved from include/asm-mn10300/mmu.h with 100% similarity]
arch/mn10300/include/asm/mmu_context.h [moved from include/asm-mn10300/mmu_context.h with 100% similarity]
arch/mn10300/include/asm/module.h [moved from include/asm-mn10300/module.h with 100% similarity]
arch/mn10300/include/asm/msgbuf.h [moved from include/asm-mn10300/msgbuf.h with 100% similarity]
arch/mn10300/include/asm/mutex.h [moved from include/asm-mn10300/mutex.h with 100% similarity]
arch/mn10300/include/asm/nmi.h [moved from include/asm-mn10300/nmi.h with 100% similarity]
arch/mn10300/include/asm/page.h [moved from include/asm-mn10300/page.h with 100% similarity]
arch/mn10300/include/asm/page_offset.h [moved from include/asm-mn10300/page_offset.h with 100% similarity]
arch/mn10300/include/asm/param.h [moved from include/asm-mn10300/param.h with 100% similarity]
arch/mn10300/include/asm/pci.h [moved from include/asm-mn10300/pci.h with 100% similarity]
arch/mn10300/include/asm/percpu.h [new file with mode: 0644]
arch/mn10300/include/asm/pgalloc.h [moved from include/asm-mn10300/pgalloc.h with 100% similarity]
arch/mn10300/include/asm/pgtable.h [moved from include/asm-mn10300/pgtable.h with 100% similarity]
arch/mn10300/include/asm/pio-regs.h [moved from include/asm-mn10300/pio-regs.h with 100% similarity]
arch/mn10300/include/asm/poll.h [new file with mode: 0644]
arch/mn10300/include/asm/posix_types.h [moved from include/asm-mn10300/posix_types.h with 100% similarity]
arch/mn10300/include/asm/processor.h [moved from include/asm-mn10300/processor.h with 100% similarity]
arch/mn10300/include/asm/ptrace.h [moved from include/asm-mn10300/ptrace.h with 100% similarity]
arch/mn10300/include/asm/reset-regs.h [moved from include/asm-mn10300/reset-regs.h with 100% similarity]
arch/mn10300/include/asm/resource.h [new file with mode: 0644]
arch/mn10300/include/asm/rtc-regs.h [moved from include/asm-mn10300/rtc-regs.h with 100% similarity]
arch/mn10300/include/asm/rtc.h [moved from include/asm-mn10300/rtc.h with 100% similarity]
arch/mn10300/include/asm/scatterlist.h [moved from include/asm-mn10300/scatterlist.h with 100% similarity]
arch/mn10300/include/asm/sections.h [moved from include/asm-mn10300/sections.h with 100% similarity]
arch/mn10300/include/asm/sembuf.h [moved from include/asm-mn10300/sembuf.h with 100% similarity]
arch/mn10300/include/asm/serial-regs.h [moved from include/asm-mn10300/serial-regs.h with 100% similarity]
arch/mn10300/include/asm/serial.h [moved from include/asm-mn10300/serial.h with 97% similarity]
arch/mn10300/include/asm/setup.h [moved from include/asm-mn10300/setup.h with 100% similarity]
arch/mn10300/include/asm/shmbuf.h [moved from include/asm-mn10300/shmbuf.h with 100% similarity]
arch/mn10300/include/asm/shmparam.h [moved from include/asm-mn10300/shmparam.h with 100% similarity]
arch/mn10300/include/asm/sigcontext.h [moved from include/asm-mn10300/sigcontext.h with 100% similarity]
arch/mn10300/include/asm/siginfo.h [moved from include/asm-mn10300/siginfo.h with 100% similarity]
arch/mn10300/include/asm/signal.h [moved from include/asm-mn10300/signal.h with 100% similarity]
arch/mn10300/include/asm/smp.h [moved from include/asm-mn10300/smp.h with 100% similarity]
arch/mn10300/include/asm/socket.h [moved from include/asm-mn10300/socket.h with 100% similarity]
arch/mn10300/include/asm/sockios.h [moved from include/asm-mn10300/sockios.h with 100% similarity]
arch/mn10300/include/asm/spinlock.h [moved from include/asm-mn10300/spinlock.h with 100% similarity]
arch/mn10300/include/asm/stat.h [moved from include/asm-mn10300/stat.h with 100% similarity]
arch/mn10300/include/asm/statfs.h [new file with mode: 0644]
arch/mn10300/include/asm/string.h [moved from include/asm-mn10300/string.h with 100% similarity]
arch/mn10300/include/asm/swab.h [moved from include/asm-mn10300/swab.h with 100% similarity]
arch/mn10300/include/asm/system.h [moved from include/asm-mn10300/system.h with 100% similarity]
arch/mn10300/include/asm/termbits.h [moved from include/asm-mn10300/termbits.h with 100% similarity]
arch/mn10300/include/asm/termios.h [moved from include/asm-mn10300/termios.h with 100% similarity]
arch/mn10300/include/asm/thread_info.h [moved from include/asm-mn10300/thread_info.h with 100% similarity]
arch/mn10300/include/asm/timer-regs.h [moved from include/asm-mn10300/timer-regs.h with 100% similarity]
arch/mn10300/include/asm/timex.h [moved from include/asm-mn10300/timex.h with 96% similarity]
arch/mn10300/include/asm/tlb.h [moved from include/asm-mn10300/tlb.h with 100% similarity]
arch/mn10300/include/asm/tlbflush.h [moved from include/asm-mn10300/tlbflush.h with 100% similarity]
arch/mn10300/include/asm/topology.h [moved from include/asm-mn10300/topology.h with 100% similarity]
arch/mn10300/include/asm/types.h [moved from include/asm-mn10300/types.h with 100% similarity]
arch/mn10300/include/asm/uaccess.h [moved from include/asm-mn10300/uaccess.h with 100% similarity]
arch/mn10300/include/asm/ucontext.h [moved from include/asm-mn10300/ucontext.h with 100% similarity]
arch/mn10300/include/asm/unaligned.h [moved from include/asm-mn10300/unaligned.h with 100% similarity]
arch/mn10300/include/asm/unistd.h [moved from include/asm-mn10300/unistd.h with 99% similarity]
arch/mn10300/include/asm/user.h [moved from include/asm-mn10300/user.h with 100% similarity]
arch/mn10300/include/asm/vga.h [moved from include/asm-mn10300/vga.h with 100% similarity]
arch/mn10300/include/asm/xor.h [new file with mode: 0644]
arch/mn10300/kernel/entry.S
arch/mn10300/kernel/gdb-io-serial-low.S
arch/mn10300/kernel/gdb-io-serial.c
arch/mn10300/kernel/gdb-io-ttysm-low.S
arch/mn10300/kernel/gdb-io-ttysm.c
arch/mn10300/kernel/gdb-stub.c
arch/mn10300/kernel/head.S
arch/mn10300/kernel/irq.c
arch/mn10300/kernel/mn10300-serial-low.S
arch/mn10300/kernel/mn10300-serial.c
arch/mn10300/kernel/mn10300-watchdog.c
arch/mn10300/kernel/setup.c
arch/mn10300/kernel/traps.c
arch/mn10300/oprofile/Kconfig [deleted file]
arch/mn10300/proc-mn103e010/include/proc/cache.h [moved from include/asm-mn10300/proc-mn103e010/cache.h with 100% similarity]
arch/mn10300/proc-mn103e010/include/proc/clock.h [moved from include/asm-mn10300/proc-mn103e010/clock.h with 94% similarity]
arch/mn10300/proc-mn103e010/include/proc/irq.h [moved from include/asm-mn10300/proc-mn103e010/irq.h with 100% similarity]
arch/mn10300/proc-mn103e010/include/proc/proc.h [moved from include/asm-mn10300/proc-mn103e010/proc.h with 100% similarity]
arch/mn10300/unit-asb2303/include/unit/clock.h [moved from include/asm-mn10300/unit-asb2303/clock.h with 100% similarity]
arch/mn10300/unit-asb2303/include/unit/leds.h [moved from include/asm-mn10300/unit-asb2303/leds.h with 100% similarity]
arch/mn10300/unit-asb2303/include/unit/serial.h [moved from include/asm-mn10300/unit-asb2303/serial.h with 99% similarity]
arch/mn10300/unit-asb2303/include/unit/smc91111.h [moved from include/asm-mn10300/unit-asb2303/smc91111.h with 100% similarity]
arch/mn10300/unit-asb2303/include/unit/timex.h [moved from include/asm-mn10300/unit-asb2303/timex.h with 98% similarity]
arch/mn10300/unit-asb2303/leds.c
arch/mn10300/unit-asb2303/smc91111.c
arch/mn10300/unit-asb2305/include/unit/clock.h [moved from include/asm-mn10300/unit-asb2305/clock.h with 100% similarity]
arch/mn10300/unit-asb2305/include/unit/leds.h [moved from include/asm-mn10300/unit-asb2305/leds.h with 100% similarity]
arch/mn10300/unit-asb2305/include/unit/serial.h [moved from include/asm-mn10300/unit-asb2305/serial.h with 99% similarity]
arch/mn10300/unit-asb2305/include/unit/timex.h [moved from include/asm-mn10300/unit-asb2305/timex.h with 98% similarity]
arch/mn10300/unit-asb2305/leds.c
arch/mn10300/unit-asb2305/unit-init.c
arch/powerpc/Kconfig
arch/powerpc/boot/dts/tqm8540.dts
arch/powerpc/boot/dts/tqm8541.dts
arch/powerpc/boot/dts/tqm8548-bigflash.dts
arch/powerpc/boot/dts/tqm8548.dts
arch/powerpc/boot/dts/tqm8555.dts
arch/powerpc/boot/dts/tqm8560.dts
arch/powerpc/configs/85xx/tqm8548_defconfig
arch/powerpc/include/asm/futex.h
arch/powerpc/include/asm/mmu.h
arch/powerpc/include/asm/parport.h
arch/powerpc/include/asm/ppc-opcode.h
arch/powerpc/kernel/cputable.c
arch/powerpc/mm/tlb_nohash.c
arch/powerpc/mm/tlb_nohash_low.S
arch/powerpc/platforms/pseries/dtl.c
arch/powerpc/platforms/pseries/eeh_driver.c
arch/s390/Kconfig
arch/s390/appldata/appldata_base.c
arch/s390/include/asm/cpuid.h [new file with mode: 0644]
arch/s390/include/asm/kvm_host.h
arch/s390/include/asm/lowcore.h
arch/s390/include/asm/processor.h
arch/s390/include/asm/ptrace.h
arch/s390/include/asm/setup.h
arch/s390/include/asm/thread_info.h
arch/s390/include/asm/timer.h
arch/s390/include/asm/timex.h
arch/s390/include/asm/unistd.h
arch/s390/kernel/asm-offsets.c
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/early.c
arch/s390/kernel/entry.S
arch/s390/kernel/entry64.S
arch/s390/kernel/head.S
arch/s390/kernel/nmi.c
arch/s390/kernel/setup.c
arch/s390/kernel/smp.c
arch/s390/kernel/syscalls.S
arch/s390/kernel/time.c
arch/s390/kernel/vtime.c
arch/sh/Kconfig
arch/sh/boards/board-ap325rxa.c
arch/sh/boards/board-urquell.c
arch/sh/drivers/pci/ops-sh7785lcr.c
arch/sh/drivers/pci/pci-sh7780.h
arch/sh/drivers/pci/pci.c
arch/sh/include/asm/dma-mapping.h
arch/sh/include/asm/scatterlist.h
arch/sh/include/asm/topology.h
arch/sh/include/asm/unistd_32.h
arch/sh/include/asm/unistd_64.h
arch/sh/kernel/cpu/sh4a/setup-sh7786.c
arch/sh/kernel/syscalls_32.S
arch/sh/kernel/syscalls_64.S
arch/sh/mm/consistent.c
arch/sparc/include/asm/atomic_32.h
arch/sparc/include/asm/parport.h
arch/sparc/include/asm/unistd.h
arch/sparc/kernel/ldc.c
arch/sparc/kernel/of_device_64.c
arch/sparc/kernel/pci_fire.c
arch/sparc/kernel/pci_psycho.c
arch/sparc/kernel/pci_sabre.c
arch/sparc/kernel/pci_sun4v.c
arch/sparc/kernel/power.c
arch/sparc/kernel/smp_64.c
arch/sparc/kernel/systbls_32.S
arch/sparc/kernel/systbls_64.S
arch/sparc/mm/init_64.c
arch/x86/Kconfig
arch/x86/include/asm/cpufeature.h
arch/x86/include/asm/fixmap.h
arch/x86/include/asm/io.h
arch/x86/include/asm/paravirt.h
arch/x86/include/asm/processor.h
arch/x86/include/asm/required-features.h
arch/x86/include/asm/sigcontext.h
arch/x86/include/asm/uv/uv_mmrs.h
arch/x86/include/asm/xen/page.h
arch/x86/include/asm/xsave.h
arch/x86/kernel/apic/apic.c
arch/x86/kernel/apic/x2apic_uv_x.c
arch/x86/kernel/bios_uv.c
arch/x86/kernel/cpu/addon_cpuid_features.c
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
arch/x86/kernel/cpu/cpufreq/longhaul.c
arch/x86/kernel/ftrace.c
arch/x86/kernel/microcode_core.c
arch/x86/kernel/mpparse.c
arch/x86/kernel/ptrace.c
arch/x86/kernel/tlb_uv.c
arch/x86/kernel/uv_sysfs.c
arch/x86/kernel/xsave.c
arch/x86/mm/ioremap.c
arch/x86/mm/pat.c
arch/x86/mm/pgtable.c
arch/x86/xen/enlighten.c
arch/x86/xen/mmu.c
arch/x86/xen/mmu.h
arch/x86/xen/smp.c
arch/x86/xen/xen-ops.h
block/as-iosched.c
block/blk-barrier.c
block/blk-sysfs.c
block/blk.h
block/cfq-iosched.c
block/elevator.c
block/ioctl.c
block/scsi_ioctl.c
drivers/acpi/acpica/hwvalid.c
drivers/acpi/proc.c
drivers/acpi/processor_idle.c
drivers/acpi/scan.c
drivers/acpi/sleep.h
drivers/acpi/thermal.c
drivers/acpi/video.c
drivers/acpi/wakeup.c
drivers/ata/ahci.c
drivers/ata/libata-core.c
drivers/ata/libata-scsi.c
drivers/ata/libata-sff.c
drivers/ata/pata_hpt37x.c
drivers/ata/pata_legacy.c
drivers/ata/pata_ninja32.c
drivers/ata/sata_via.c
drivers/atm/solos-pci.c
drivers/block/brd.c
drivers/block/cciss.c
drivers/block/xsysace.c
drivers/char/agp/intel-agp.c
drivers/char/sysrq.c
drivers/edac/edac_core.h
drivers/edac/edac_device.c
drivers/edac/edac_mc.c
drivers/edac/edac_pci.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_debugfs.c
drivers/gpu/drm/i915/i915_gem_tiling.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_fb.c
drivers/gpu/drm/i915/intel_hdmi.c
drivers/gpu/drm/i915/intel_sdvo.c
drivers/hwmon/Kconfig
drivers/hwmon/Makefile
drivers/hwmon/hp_accel.c
drivers/hwmon/sht15.c [new file with mode: 0644]
drivers/i2c/algos/i2c-algo-pca.c
drivers/i2c/busses/Kconfig
drivers/i2c/i2c-core.c
drivers/ide/at91_ide.c
drivers/ide/falconide.c
drivers/ide/ide-acpi.c
drivers/ide/ide-atapi.c
drivers/ide/ide-cd.c
drivers/ide/ide-disk.c
drivers/ide/ide-disk_proc.c
drivers/ide/ide-dma-sff.c
drivers/ide/ide-h8300.c
drivers/ide/ide-io-std.c
drivers/ide/ide-io.c
drivers/ide/ide-ioctls.c
drivers/ide/ide-iops.c
drivers/ide/ide-lib.c
drivers/ide/ide-park.c
drivers/ide/ide-pm.c
drivers/ide/ide-probe.c
drivers/ide/ide-proc.c
drivers/ide/ide-taskfile.c
drivers/ide/ns87415.c
drivers/ide/q40ide.c
drivers/ide/scc_pata.c
drivers/ide/tx4938ide.c
drivers/ide/tx4939ide.c
drivers/infiniband/core/cma.c
drivers/infiniband/hw/cxgb3/cxio_hal.c
drivers/infiniband/hw/cxgb3/cxio_hal.h
drivers/infiniband/hw/cxgb3/iwch.c
drivers/infiniband/hw/cxgb3/iwch.h
drivers/infiniband/hw/cxgb3/iwch_cm.c
drivers/infiniband/hw/cxgb3/iwch_cm.h
drivers/infiniband/hw/cxgb3/iwch_qp.c
drivers/infiniband/hw/mlx4/main.c
drivers/infiniband/hw/nes/nes.h
drivers/infiniband/hw/nes/nes_cm.c
drivers/infiniband/hw/nes/nes_cm.h
drivers/infiniband/hw/nes/nes_hw.c
drivers/infiniband/hw/nes/nes_hw.h
drivers/infiniband/hw/nes/nes_nic.c
drivers/infiniband/ulp/ipoib/ipoib_vlan.c
drivers/input/input.c
drivers/input/keyboard/atkbd.c
drivers/input/keyboard/bf54x-keys.c
drivers/input/keyboard/hilkbd.c
drivers/input/misc/Kconfig
drivers/input/misc/Makefile
drivers/input/misc/ati_remote2.c
drivers/input/misc/rb532_button.c [new file with mode: 0644]
drivers/input/misc/rotary_encoder.c [new file with mode: 0644]
drivers/input/mouse/Kconfig
drivers/input/mouse/Makefile
drivers/input/mouse/hgpk.c
drivers/input/mouse/maplemouse.c [new file with mode: 0644]
drivers/input/mouse/pc110pad.c
drivers/input/serio/i8042-x86ia64io.h
drivers/input/touchscreen/Kconfig
drivers/input/touchscreen/Makefile
drivers/input/touchscreen/ad7877.c [new file with mode: 0644]
drivers/input/touchscreen/ad7879.c [new file with mode: 0644]
drivers/input/touchscreen/mainstone-wm97xx.c
drivers/input/touchscreen/ucb1400_ts.c
drivers/input/touchscreen/wm97xx-core.c
drivers/input/touchscreen/zylonite-wm97xx.c [new file with mode: 0644]
drivers/leds/leds-gpio.c
drivers/md/dm-bio-list.h [deleted file]
drivers/md/dm-delay.c
drivers/md/dm-ioctl.c
drivers/md/dm-kcopyd.c
drivers/md/dm-linear.c
drivers/md/dm-mpath.c
drivers/md/dm-raid1.c
drivers/md/dm-region-hash.c
drivers/md/dm-snap.c
drivers/md/dm-table.c
drivers/md/dm.c
drivers/md/dm.h
drivers/md/raid1.c
drivers/md/raid10.c
drivers/media/dvb/ttpci/Kconfig
drivers/media/dvb/ttpci/Makefile
drivers/media/dvb/ttpci/av7110.c
drivers/media/dvb/ttpci/av7110_hw.c
drivers/media/dvb/ttpci/av7110_hw.h
drivers/media/dvb/ttpci/fdump.c [deleted file]
drivers/misc/eeprom/at24.c
drivers/misc/eeprom/at25.c
drivers/misc/sgi-xp/xpc.h
drivers/misc/sgi-xp/xpc_channel.c
drivers/misc/sgi-xp/xpc_main.c
drivers/misc/sgi-xp/xpc_partition.c
drivers/misc/sgi-xp/xpc_sn2.c
drivers/misc/sgi-xp/xpc_uv.c
drivers/mmc/core/mmc.c
drivers/mmc/core/sd.c
drivers/mmc/host/imxmmc.c
drivers/mmc/host/mmc_spi.c
drivers/mmc/host/omap_hsmmc.c
drivers/mmc/host/sdhci-pci.c
drivers/mmc/host/sdhci.c
drivers/mmc/host/wbsd.c
drivers/net/Kconfig
drivers/net/Makefile
drivers/net/a2065.c
drivers/net/ariadne.c
drivers/net/arm/am79c961a.c
drivers/net/arm/at91_ether.c
drivers/net/arm/ep93xx_eth.c
drivers/net/arm/ether1.c
drivers/net/arm/ether3.c
drivers/net/atarilance.c
drivers/net/atl1c/atl1c_main.c
drivers/net/au1000_eth.c
drivers/net/benet/be_ethtool.c
drivers/net/benet/be_main.c
drivers/net/bfin_mac.c
drivers/net/bnx2.c
drivers/net/bonding/bond_alb.c
drivers/net/bonding/bond_main.c
drivers/net/bonding/bond_sysfs.c
drivers/net/cris/eth_v10.c
drivers/net/declance.c
drivers/net/e1000/e1000_main.c
drivers/net/e1000e/netdev.c
drivers/net/ehea/ehea_main.c
drivers/net/eql.c
drivers/net/fec.c
drivers/net/forcedeth.c
drivers/net/fs_enet/fs_enet-main.c
drivers/net/gianfar.c
drivers/net/ibm_newemac/core.c
drivers/net/igb/e1000_mac.c
drivers/net/igb/e1000_mac.h
drivers/net/igb/e1000_mbx.c
drivers/net/igb/e1000_mbx.h
drivers/net/igb/igb_main.c
drivers/net/igbvf/Makefile [new file with mode: 0644]
drivers/net/igbvf/defines.h [new file with mode: 0644]
drivers/net/igbvf/ethtool.c [new file with mode: 0644]
drivers/net/igbvf/igbvf.h [new file with mode: 0644]
drivers/net/igbvf/mbx.c [new file with mode: 0644]
drivers/net/igbvf/mbx.h [new file with mode: 0644]
drivers/net/igbvf/netdev.c [new file with mode: 0644]
drivers/net/igbvf/regs.h [new file with mode: 0644]
drivers/net/igbvf/vf.c [new file with mode: 0644]
drivers/net/igbvf/vf.h [new file with mode: 0644]
drivers/net/ioc3-eth.c
drivers/net/isa-skeleton.c
drivers/net/ixgbe/ixgbe_82598.c
drivers/net/ixgbe/ixgbe_82599.c
drivers/net/ixgbe/ixgbe_common.c
drivers/net/ixgbe/ixgbe_common.h
drivers/net/ixgbe/ixgbe_ethtool.c
drivers/net/ixgbe/ixgbe_main.c
drivers/net/jme.c
drivers/net/mac89x0.c
drivers/net/macb.c
drivers/net/macsonic.c
drivers/net/mlx4/port.c
drivers/net/mv643xx_eth.c
drivers/net/myri10ge/myri10ge.c
drivers/net/niu.c
drivers/net/phy/fixed.c
drivers/net/phy/marvell.c
drivers/net/phy/phy.c
drivers/net/r6040.c
drivers/net/sfc/efx.c
drivers/net/sfc/falcon.c
drivers/net/sh_eth.c
drivers/net/skge.c
drivers/net/smc91x.h
drivers/net/smsc911x.c
drivers/net/sun3_82586.c
drivers/net/tc35815.c
drivers/net/tg3.c
drivers/net/tsi108_eth.c
drivers/net/tun.c
drivers/net/via-velocity.c
drivers/net/wireless/ath9k/pci.c
drivers/net/wireless/p54/p54pci.c
drivers/net/xtsonic.c
drivers/parisc/superio.c
drivers/pci/dmar.c
drivers/pci/intel-iommu.c
drivers/platform/x86/fujitsu-laptop.c
drivers/platform/x86/panasonic-laptop.c
drivers/platform/x86/sony-laptop.c
drivers/platform/x86/wmi.c
drivers/power/pcf50633-charger.c
drivers/power/pda_power.c
drivers/s390/block/dasd.c
drivers/s390/block/dasd_eckd.c
drivers/s390/cio/qdio_main.c
drivers/sbus/char/jsflash.c
drivers/sbus/char/uctrl.c
drivers/scsi/3w-9xxx.c
drivers/scsi/aacraid/aachba.c
drivers/scsi/lpfc/lpfc_scsi.c
drivers/scsi/mpt2sas/mpt2sas_base.c
drivers/scsi/qla1280.c
drivers/scsi/scsi_priv.h
drivers/scsi/scsi_wait_scan.c
drivers/serial/Kconfig
drivers/serial/max3100.c [new file with mode: 0644]
drivers/serial/sunsu.c
drivers/sh/intc.c
drivers/spi/spi.c
drivers/staging/b3dfg/b3dfg.c
drivers/usb/class/cdc-acm.c
drivers/usb/host/ohci-at91.c
drivers/usb/otg/nop-usb-xceiv.c
drivers/usb/serial/ti_usb_3410_5052.c
drivers/video/aty/radeon_base.c
drivers/video/backlight/backlight.c
drivers/video/backlight/lcd.c
drivers/video/cirrusfb.c
drivers/video/console/fbcon.c
drivers/video/efifb.c
drivers/video/fbmem.c
drivers/video/intelfb/intelfb.h
drivers/video/intelfb/intelfb_i2c.c
drivers/video/intelfb/intelfbdrv.c
drivers/video/intelfb/intelfbhw.c
drivers/video/s3fb.c
drivers/video/sa1100fb.c
drivers/video/sa1100fb.h
drivers/video/sis/sis_main.c
drivers/video/skeletonfb.c
drivers/video/uvesafb.c
drivers/video/vfb.c
drivers/watchdog/Kconfig
drivers/watchdog/Makefile
drivers/watchdog/at91rm9200_wdt.c
drivers/watchdog/i6300esb.c
drivers/watchdog/ks8695_wdt.c
drivers/watchdog/omap_wdt.c
drivers/watchdog/orion5x_wdt.c
drivers/xen/cpu_hotplug.c
drivers/xen/manage.c
firmware/.gitignore
firmware/Makefile
firmware/README.AddingFirmware [new file with mode: 0644]
firmware/WHENCE
firmware/av7110/Boot.S [new file with mode: 0644]
firmware/av7110/bootcode.bin.ihex [new file with mode: 0644]
firmware/ihex2fw.c [moved from scripts/ihex2fw.c with 100% similarity]
firmware/slicoss/gbdownload.sys.ihex [deleted file]
firmware/slicoss/gbrcvucode.sys.ihex [deleted file]
firmware/slicoss/oasisdbgdownload.sys.ihex [deleted file]
firmware/slicoss/oasisdownload.sys.ihex [deleted file]
firmware/slicoss/oasisrcvucode.sys.ihex [deleted file]
firmware/sxg/saharadbgdownloadB.sys.ihex [deleted file]
firmware/sxg/saharadownloadB.sys.ihex [deleted file]
firmware/yamaha/yss225_registers.bin.ihex [new file with mode: 0644]
fs/afs/file.c
fs/afs/netdevices.c
fs/befs/super.c
fs/bio.c
fs/buffer.c
fs/direct-io.c
fs/ext2/inode.c
fs/ext3/inode.c
fs/ext4/extents.c
fs/ext4/inode.c
fs/ext4/super.c
fs/fat/Kconfig
fs/fuse/file.c
fs/gfs2/glock.c
fs/gfs2/inode.c
fs/gfs2/inode.h
fs/gfs2/ops_file.c
fs/gfs2/ops_fstype.c
fs/gfs2/ops_inode.c
fs/gfs2/quota.c
fs/hfs/inode.c
fs/hfs/mdb.c
fs/inode.c
fs/jbd/revoke.c
fs/nilfs2/bmap.c
fs/nilfs2/nilfs.h
fs/nilfs2/recovery.c
fs/nilfs2/sufile.c
fs/nilfs2/sufile.h
fs/nilfs2/super.c
fs/nilfs2/the_nilfs.c
fs/ocfs2/file.c
fs/pipe.c
fs/proc/task_nommu.c
fs/splice.c
fs/xfs/linux-2.6/xfs_aops.c
fs/xfs/linux-2.6/xfs_aops.h
fs/xfs/linux-2.6/xfs_buf.c
fs/xfs/linux-2.6/xfs_fs_subr.c
fs/xfs/linux-2.6/xfs_lrw.c
fs/xfs/linux-2.6/xfs_sync.c
fs/xfs/linux-2.6/xfs_sync.h
fs/xfs/xfs_iget.c
fs/xfs/xfs_iomap.c
fs/xfs/xfs_iomap.h
fs/xfs/xfs_log.c
fs/xfs/xfs_mount.h
fs/xfs/xfs_vnodeops.c
include/acpi/acpi_bus.h
include/asm-generic/bug.h
include/asm-generic/percpu.h
include/asm-generic/siginfo.h
include/asm-mn10300/.gitignore [deleted file]
include/drm/drm_pciids.h
include/drm/i915_drm.h
include/linux/bio.h
include/linux/buffer_head.h
include/linux/capability.h
include/linux/debug_locks.h
include/linux/device-mapper.h
include/linux/fb.h
include/linux/fiemap.h
include/linux/fs.h
include/linux/fsl_devices.h
include/linux/ftrace.h
include/linux/i2c.h
include/linux/ide.h
include/linux/init_task.h
include/linux/irq.h
include/linux/kmod.h
include/linux/libata.h
include/linux/mfd/pcf50633/core.h
include/linux/mfd/pcf50633/mbc.h
include/linux/pci_ids.h
include/linux/pda_power.h
include/linux/percpu.h
include/linux/phy.h
include/linux/pipe_fs_i.h
include/linux/rcutree.h
include/linux/rotary_encoder.h [new file with mode: 0644]
include/linux/sched.h
include/linux/serial_max3100.h [new file with mode: 0644]
include/linux/sht15.h [new file with mode: 0644]
include/linux/spi/ad7879.h [new file with mode: 0644]
include/linux/splice.h
include/linux/stringify.h
include/linux/syscalls.h
include/linux/usb/serial.h
include/net/netfilter/nf_conntrack_expect.h
include/net/udp.h
include/scsi/scsi_scan.h [new file with mode: 0644]
include/sound/jack.h
include/sound/pcm.h
include/trace/syscall.h [new file with mode: 0644]
include/video/cyblafb.h [deleted file]
init/Kconfig
init/initramfs.c
ipc/mq_sysctl.c
kernel/fork.c
kernel/futex.c
kernel/irq/numa_migrate.c
kernel/kthread.c
kernel/module.c
kernel/mutex.c
kernel/panic.c
kernel/posix-cpu-timers.c
kernel/power/disk.c
kernel/power/swap.c
kernel/power/user.c
kernel/ptrace.c
kernel/rcupdate.c
kernel/rcutree.c
kernel/rcutree_trace.c
kernel/sched.c
kernel/sched_cpupri.c
kernel/sched_rt.c
kernel/softirq.c
kernel/sys.c
kernel/sysctl.c
kernel/timer.c
kernel/trace/Kconfig
kernel/trace/blktrace.c
kernel/trace/trace.c
kernel/trace/trace_branch.c
kernel/trace/trace_events.c
kernel/trace/trace_events_filter.c
kernel/trace/trace_events_stage_2.h
kernel/trace/trace_power.c
kernel/trace/trace_syscalls.c
kernel/workqueue.c
lib/debug_locks.c
lib/kobject_uevent.c
lib/vsprintf.c
mm/Kconfig
mm/filemap.c
mm/memcontrol.c
mm/mmap.c
mm/shmem.c
mm/util.c
net/802/tr.c
net/8021q/vlan_core.c
net/core/dev.c
net/ipv4/tcp_input.c
net/ipv4/udp.c
net/ipv6/ipv6_sockglue.c
net/ipv6/netfilter/ip6_tables.c
net/ipv6/udp.c
net/netfilter/Kconfig
net/netfilter/nf_conntrack_expect.c
net/packet/af_packet.c
net/rose/af_rose.c
net/sched/em_meta.c
scripts/.gitignore
scripts/Makefile
scripts/Makefile.headersinst
scripts/gen_initramfs_list.sh
scripts/get_maintainer.pl [new file with mode: 0755]
scripts/headerdep.pl
scripts/kconfig/kxgettext.c
scripts/mod/modpost.c
scripts/setlocalversion
security/commoncap.c
security/keys/request_key.c
security/tomoyo/common.c
security/tomoyo/common.h
security/tomoyo/domain.c
security/tomoyo/file.c
security/tomoyo/realpath.c
security/tomoyo/realpath.h
security/tomoyo/tomoyo.c
security/tomoyo/tomoyo.h
sound/core/control.c
sound/core/jack.c
sound/core/pcm_compat.c
sound/core/pcm_lib.c
sound/core/pcm_native.c
sound/core/seq/seq_compat.c
sound/core/timer.c
sound/isa/Kconfig
sound/isa/sb/sb16_csp.c
sound/isa/wavefront/wavefront_fx.c
sound/isa/wavefront/wavefront_synth.c
sound/isa/wavefront/yss225.c [deleted file]
sound/pci/emu10k1/emufx.c
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_intel.c
sound/pci/hda/patch_conexant.c
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_sigmatel.c
sound/pci/intel8x0.c
sound/soc/pxa/magician.c
sound/soc/s3c24xx/Kconfig
sound/sparc/cs4231.c
sound/usb/caiaq/Makefile
sound/usb/caiaq/audio.c [moved from sound/usb/caiaq/caiaq-audio.c with 98% similarity]
sound/usb/caiaq/audio.h [moved from sound/usb/caiaq/caiaq-audio.h with 100% similarity]
sound/usb/caiaq/control.c [moved from sound/usb/caiaq/caiaq-control.c with 98% similarity]
sound/usb/caiaq/control.h [moved from sound/usb/caiaq/caiaq-control.h with 100% similarity]
sound/usb/caiaq/device.c [moved from sound/usb/caiaq/caiaq-device.c with 98% similarity]
sound/usb/caiaq/device.h [moved from sound/usb/caiaq/caiaq-device.h with 100% similarity]
sound/usb/caiaq/input.c [moved from sound/usb/caiaq/caiaq-input.c with 98% similarity]
sound/usb/caiaq/input.h [moved from sound/usb/caiaq/caiaq-input.h with 100% similarity]
sound/usb/caiaq/midi.c [moved from sound/usb/caiaq/caiaq-midi.c with 95% similarity]
sound/usb/caiaq/midi.h [moved from sound/usb/caiaq/caiaq-midi.h with 100% similarity]
sound/usb/usx2y/us122l.c
sound/usb/usx2y/usX2Yhwdep.c

index bf9c16b64c34feff4087a6b83b78995d213bcc96..cf11736acb76a9e9822b1fc52a11165476f1671e 100644 (file)
@@ -1,4 +1,4 @@
-What:           /debug/pktcdvd/pktcdvd[0-7]
+What:           /sys/kernel/debug/pktcdvd/pktcdvd[0-7]
 Date:           Oct. 2006
 KernelVersion:  2.6.20
 Contact:        Thomas Maier <balagi@justmail.de>
@@ -10,10 +10,10 @@ debugfs interface
 The pktcdvd module (packet writing driver) creates
 these files in debugfs:
 
-/debug/pktcdvd/pktcdvd[0-7]/
+/sys/kernel/debug/pktcdvd/pktcdvd[0-7]/
     info            (0444) Lots of driver statistics and infos.
 
 Example:
 -------
 
-cat /debug/pktcdvd/pktcdvd0/info
+cat /sys/kernel/debug/pktcdvd/pktcdvd0/info
index a3a83d38f96fa44a1d17d917e297959cce5036fc..8918a32c6b3a567903d02d87aad5577f2c13a12c 100644 (file)
@@ -31,7 +31,7 @@ PS_METHOD     = $(prefer-db2x)
 
 ###
 # The targets that may be used.
-PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs
+PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs
 
 BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
 xmldocs: $(BOOKS)
@@ -213,11 +213,12 @@ silent_gen_xml = :
 dochelp:
        @echo  ' Linux kernel internal documentation in different formats:'
        @echo  '  htmldocs        - HTML'
-       @echo  '  installmandocs  - install man pages generated by mandocs'
-       @echo  '  mandocs         - man pages'
        @echo  '  pdfdocs         - PDF'
        @echo  '  psdocs          - Postscript'
        @echo  '  xmldocs         - XML DocBook'
+       @echo  '  mandocs         - man pages'
+       @echo  '  installmandocs  - install man pages generated by mandocs'
+       @echo  '  cleandocs       - clean all generated DocBook files'
 
 ###
 # Temporary files left by various tools
@@ -235,6 +236,10 @@ clean-files := $(DOCBOOKS) \
 
 clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man
 
+cleandocs:
+       $(Q)rm -f $(call objectify, $(clean-files))
+       $(Q)rm -rf $(call objectify, $(clean-dirs))
+
 # Declare the contents of the .PHONY variable as phony.  We keep that
 # information in a variable se we can use it in if_changed and friends.
 
index ecad6ee7570500cefabee9ee7062e69caca548a5..6fab97ea7e6b0ecd4b3973cd0787257f14647617 100644 (file)
@@ -1040,23 +1040,21 @@ Front merges are handled by the binary trees in AS and deadline schedulers.
 iii. Plugging the queue to batch requests in anticipation of opportunities for
      merge/sort optimizations
 
-This is just the same as in 2.4 so far, though per-device unplugging
-support is anticipated for 2.5. Also with a priority-based i/o scheduler,
-such decisions could be based on request priorities.
-
 Plugging is an approach that the current i/o scheduling algorithm resorts to so
 that it collects up enough requests in the queue to be able to take
 advantage of the sorting/merging logic in the elevator. If the
 queue is empty when a request comes in, then it plugs the request queue
-(sort of like plugging the bottom of a vessel to get fluid to build up)
+(sort of like plugging the bath tub of a vessel to get fluid to build up)
 till it fills up with a few more requests, before starting to service
 the requests. This provides an opportunity to merge/sort the requests before
 passing them down to the device. There are various conditions when the queue is
 unplugged (to open up the flow again), either through a scheduled task or
 could be on demand. For example wait_on_buffer sets the unplugging going
-(by running tq_disk) so the read gets satisfied soon. So in the read case,
-the queue gets explicitly unplugged as part of waiting for completion,
-in fact all queues get unplugged as a side-effect.
+through sync_buffer() running blk_run_address_space(mapping). Or the caller
+can do it explicity through blk_unplug(bdev). So in the read case,
+the queue gets explicitly unplugged as part of waiting for completion on that
+buffer. For page driven IO, the address space ->sync_page() takes care of
+doing the blk_run_address_space().
 
 Aside:
   This is kind of controversial territory, as it's not clear if plugging is
@@ -1067,11 +1065,6 @@ Aside:
   multi-page bios being queued in one shot, we may not need to wait to merge
   a big request from the broken up pieces coming by.
 
-  Per-queue granularity unplugging (still a Todo) may help reduce some of the
-  concerns with just a single tq_disk flush approach. Something like
-  blk_kick_queue() to unplug a specific queue (right away ?)
-  or optionally, all queues, is in the plan.
-
 4.4 I/O contexts
 I/O contexts provide a dynamically allocated per process data area. They may
 be used in I/O schedulers, and in the block layer (could be used for IO statis,
index bb775fbe43d78f6f5083f03a7986d9edf9012a05..8b930946c52a7dec05657470016946b1c3492123 100644 (file)
@@ -30,3 +30,21 @@ The above steps create a new group g1 and move the current shell
 process (bash) into it. CPU time consumed by this bash and its children
 can be obtained from g1/cpuacct.usage and the same is accumulated in
 /cgroups/cpuacct.usage also.
+
+cpuacct.stat file lists a few statistics which further divide the
+CPU time obtained by the cgroup into user and system times. Currently
+the following statistics are supported:
+
+user: Time spent by tasks of the cgroup in user mode.
+system: Time spent by tasks of the cgroup in kernel mode.
+
+user and system are in USER_HZ unit.
+
+cpuacct controller uses percpu_counter interface to collect user and
+system times. This has two side effects:
+
+- It is theoretically possible to see wrong values for user and system times.
+  This is because percpu_counter_read() on 32bit systems isn't safe
+  against concurrent writes.
+- It is possible to see slightly outdated values for user and system times
+  due to the batch processing nature of percpu_counter.
index a98a7fe7aabb6aa165c0d334770123ac41ebf9a4..1a608877b14e074cfc2a7fe4def001aa70e47b2b 100644 (file)
@@ -6,15 +6,14 @@ used here with the memory controller that is used in hardware.
 
 Salient features
 
-a. Enable control of both RSS (mapped) and Page Cache (unmapped) pages
+a. Enable control of Anonymous, Page Cache (mapped and unmapped) and
+   Swap Cache memory pages.
 b. The infrastructure allows easy addition of other types of memory to control
 c. Provides *zero overhead* for non memory controller users
 d. Provides a double LRU: global memory pressure causes reclaim from the
    global LRU; a cgroup on hitting a limit, reclaims from the per
    cgroup LRU
 
-NOTE: Swap Cache (unmapped) is not accounted now.
-
 Benefits and Purpose of the memory controller
 
 The memory controller isolates the memory behaviour of a group of tasks
@@ -290,34 +289,44 @@ will be charged as a new owner of it.
   moved to the parent. If you want to avoid that, force_empty will be useful.
 
 5.2 stat file
-  memory.stat file includes following statistics (now)
-       cache                   - # of pages from page-cache and shmem.
-       rss                     - # of pages from anonymous memory.
-       pgpgin                  - # of event of charging
-       pgpgout                 - # of event of uncharging
-       active_anon             - # of pages on active lru of anon, shmem.
-       inactive_anon           - # of pages on active lru of anon, shmem
-       active_file             - # of pages on active lru of file-cache
-       inactive_file           - # of pages on inactive lru of file cache
-       unevictable             - # of pages cannot be reclaimed.(mlocked etc)
-
-       Below is depend on CONFIG_DEBUG_VM.
-       inactive_ratio          - VM internal parameter. (see mm/page_alloc.c)
-       recent_rotated_anon     - VM internal parameter. (see mm/vmscan.c)
-       recent_rotated_file     - VM internal parameter. (see mm/vmscan.c)
-       recent_scanned_anon     - VM internal parameter. (see mm/vmscan.c)
-       recent_scanned_file     - VM internal parameter. (see mm/vmscan.c)
-
-  Memo:
+
+memory.stat file includes following statistics
+
+cache          - # of bytes of page cache memory.
+rss            - # of bytes of anonymous and swap cache memory.
+pgpgin         - # of pages paged in (equivalent to # of charging events).
+pgpgout                - # of pages paged out (equivalent to # of uncharging events).
+active_anon    - # of bytes of anonymous and  swap cache memory on active
+                 lru list.
+inactive_anon  - # of bytes of anonymous memory and swap cache memory on
+                 inactive lru list.
+active_file    - # of bytes of file-backed memory on active lru list.
+inactive_file  - # of bytes of file-backed memory on inactive lru list.
+unevictable    - # of bytes of memory that cannot be reclaimed (mlocked etc).
+
+The following additional stats are dependent on CONFIG_DEBUG_VM.
+
+inactive_ratio         - VM internal parameter. (see mm/page_alloc.c)
+recent_rotated_anon    - VM internal parameter. (see mm/vmscan.c)
+recent_rotated_file    - VM internal parameter. (see mm/vmscan.c)
+recent_scanned_anon    - VM internal parameter. (see mm/vmscan.c)
+recent_scanned_file    - VM internal parameter. (see mm/vmscan.c)
+
+Memo:
        recent_rotated means recent frequency of lru rotation.
        recent_scanned means recent # of scans to lru.
        showing for better debug please see the code for meanings.
 
+Note:
+       Only anonymous and swap cache memory is listed as part of 'rss' stat.
+       This should not be confused with the true 'resident set size' or the
+       amount of physical memory used by the cgroup. Per-cgroup rss
+       accounting is not done yet.
 
 5.3 swappiness
   Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only.
 
-  Following cgroup's swapiness can't be changed.
+  Following cgroups' swapiness can't be changed.
   - root cgroup (uses /proc/sys/vm/swappiness).
   - a cgroup which uses hierarchy and it has child cgroup.
   - a cgroup which uses hierarchy and not the root of hierarchy.
index f196ac1d7d2526507a55ff6bc70f903fcc9ee56d..95b24d766eab755ac443f095ff613a638494bafb 100644 (file)
@@ -47,13 +47,18 @@ to work with it.
 
 2. Basic accounting routines
 
- a. void res_counter_init(struct res_counter *rc)
+ a. void res_counter_init(struct res_counter *rc,
+                               struct res_counter *rc_parent)
 
        Initializes the resource counter. As usual, should be the first
        routine called for a new counter.
 
- b. int res_counter_charge[_locked]
-                       (struct res_counter *rc, unsigned long val)
+       The struct res_counter *parent can be used to define a hierarchical
+       child -> parent relationship directly in the res_counter structure,
+       NULL can be used to define no relationship.
+
+ c. int res_counter_charge(struct res_counter *rc, unsigned long val,
+                               struct res_counter **limit_fail_at)
 
        When a resource is about to be allocated it has to be accounted
        with the appropriate resource counter (controller should determine
@@ -67,15 +72,25 @@ to work with it.
          * if the charging is performed first, then it should be uncharged
            on error path (if the one is called).
 
- c. void res_counter_uncharge[_locked]
+       If the charging fails and a hierarchical dependency exists, the
+       limit_fail_at parameter is set to the particular res_counter element
+       where the charging failed.
+
+ d. int res_counter_charge_locked
+                       (struct res_counter *rc, unsigned long val)
+
+       The same as res_counter_charge(), but it must not acquire/release the
+       res_counter->lock internally (it must be called with res_counter->lock
+       held).
+
+ e. void res_counter_uncharge[_locked]
                        (struct res_counter *rc, unsigned long val)
 
        When a resource is released (freed) it should be de-accounted
        from the resource counter it was accounted to.  This is called
        "uncharging".
 
-    The _locked routines imply that the res_counter->lock is taken.
-
+       The _locked routines imply that the res_counter->lock is taken.
 
  2.1 Other accounting routines
 
index 7e2af10e82645570a7ad426bc3e73ea3b6497ea7..de491a3e23131001c7e308e30aa12f8326159f69 100644 (file)
@@ -428,3 +428,12 @@ Why:       In 2.6.27, the semantics of /sys/bus/pci/slots was redefined to
        After a reasonable transition period, we will remove the legacy
        fakephp interface.
 Who:   Alex Chiang <achiang@hp.com>
+
+---------------------------
+
+What:  i2c-voodoo3 driver
+When:  October 2009
+Why:   Superseded by tdfxfb. I2C/DDC support used to live in a separate
+       driver but this caused driver conflicts.
+Who:   Jean Delvare <khali@linux-fr.org>
+       Krzysztof Helt <krzysztof.h1@wp.pl>
index 864ff32837803da00c5c0d8cfde27e754216ef95..6d40f00b358caa42a1d217fb7f6c6a185915ea86 100644 (file)
@@ -24,6 +24,49 @@ Partitions and P_Keys
   The P_Key for any interface is given by the "pkey" file, and the
   main interface for a subinterface is in "parent."
 
+Datagram vs Connected modes
+
+  The IPoIB driver supports two modes of operation: datagram and
+  connected.  The mode is set and read through an interface's
+  /sys/class/net/<intf name>/mode file.
+
+  In datagram mode, the IB UD (Unreliable Datagram) transport is used
+  and so the interface MTU has is equal to the IB L2 MTU minus the
+  IPoIB encapsulation header (4 bytes).  For example, in a typical IB
+  fabric with a 2K MTU, the IPoIB MTU will be 2048 - 4 = 2044 bytes.
+
+  In connected mode, the IB RC (Reliable Connected) transport is used.
+  Connected mode is to takes advantage of the connected nature of the
+  IB transport and allows an MTU up to the maximal IP packet size of
+  64K, which reduces the number of IP packets needed for handling
+  large UDP datagrams, TCP segments, etc and increases the performance
+  for large messages.
+
+  In connected mode, the interface's UD QP is still used for multicast
+  and communication with peers that don't support connected mode. In
+  this case, RX emulation of ICMP PMTU packets is used to cause the
+  networking stack to use the smaller UD MTU for these neighbours.
+
+Stateless offloads
+
+  If the IB HW supports IPoIB stateless offloads, IPoIB advertises
+  TCP/IP checksum and/or Large Send (LSO) offloading capability to the
+  network stack.
+
+  Large Receive (LRO) offloading is also implemented and may be turned
+  on/off using ethtool calls.  Currently LRO is supported only for
+  checksum offload capable devices.
+
+  Stateless offloads are supported only in datagram mode.  
+
+Interrupt moderation
+
+  If the underlying IB device supports CQ event moderation, one can
+  use ethtool to set interrupt mitigation parameters and thus reduce
+  the overhead incurred by handling interrupts.  The main code path of
+  IPoIB doesn't use events for TX completion signaling so only RX
+  moderation is supported.
+
 Debugging Information
 
   By compiling the IPoIB driver with CONFIG_INFINIBAND_IPOIB_DEBUG set
@@ -55,3 +98,5 @@ References
     http://ietf.org/rfc/rfc4391.txt 
   IP over InfiniBand (IPoIB) Architecture (RFC 4392)
     http://ietf.org/rfc/rfc4392.txt 
+  IP over InfiniBand: Connected Mode (RFC 4755)
+    http://ietf.org/rfc/rfc4755.txt
diff --git a/Documentation/input/rotary-encoder.txt b/Documentation/input/rotary-encoder.txt
new file mode 100644 (file)
index 0000000..435102a
--- /dev/null
@@ -0,0 +1,101 @@
+rotary-encoder - a generic driver for GPIO connected devices
+Daniel Mack <daniel@caiaq.de>, Feb 2009
+
+0. Function
+-----------
+
+Rotary encoders are devices which are connected to the CPU or other
+peripherals with two wires. The outputs are phase-shifted by 90 degrees
+and by triggering on falling and rising edges, the turn direction can
+be determined.
+
+The phase diagram of these two outputs look like this:
+
+                  _____       _____       _____
+                 |     |     |     |     |     |
+  Channel A  ____|     |_____|     |_____|     |____
+
+                 :  :  :  :  :  :  :  :  :  :  :  :
+            __       _____       _____       _____
+              |     |     |     |     |     |     |
+  Channel B   |_____|     |_____|     |_____|     |__
+
+                 :  :  :  :  :  :  :  :  :  :  :  :
+  Event          a  b  c  d  a  b  c  d  a  b  c  d
+
+                |<-------->|
+                 one step
+
+
+For more information, please see
+       http://en.wikipedia.org/wiki/Rotary_encoder
+
+
+1. Events / state machine
+-------------------------
+
+a) Rising edge on channel A, channel B in low state
+       This state is used to recognize a clockwise turn
+
+b) Rising edge on channel B, channel A in high state
+       When entering this state, the encoder is put into 'armed' state,
+       meaning that there it has seen half the way of a one-step transition.
+
+c) Falling edge on channel A, channel B in high state
+       This state is used to recognize a counter-clockwise turn
+
+d) Falling edge on channel B, channel A in low state
+       Parking position. If the encoder enters this state, a full transition
+       should have happend, unless it flipped back on half the way. The
+       'armed' state tells us about that.
+
+2. Platform requirements
+------------------------
+
+As there is no hardware dependent call in this driver, the platform it is
+used with must support gpiolib. Another requirement is that IRQs must be
+able to fire on both edges.
+
+
+3. Board integration
+--------------------
+
+To use this driver in your system, register a platform_device with the
+name 'rotary-encoder' and associate the IRQs and some specific platform
+data with it.
+
+struct rotary_encoder_platform_data is declared in
+include/linux/rotary-encoder.h and needs to be filled with the number of
+steps the encoder has and can carry information about externally inverted
+signals (because of used invertig buffer or other reasons).
+
+Because GPIO to IRQ mapping is platform specific, this information must
+be given in seperately to the driver. See the example below.
+
+---------<snip>---------
+
+/* board support file example */
+
+#include <linux/input.h>
+#include <linux/rotary_encoder.h>
+
+#define GPIO_ROTARY_A 1
+#define GPIO_ROTARY_B 2
+
+static struct rotary_encoder_platform_data my_rotary_encoder_info = {
+       .steps          = 24,
+       .axis           = ABS_X,
+       .gpio_a         = GPIO_ROTARY_A,
+       .gpio_b         = GPIO_ROTARY_B,
+       .inverted_a     = 0,
+       .inverted_b     = 0,
+};
+
+static struct platform_device rotary_encoder_device = {
+       .name           = "rotary-encoder",
+       .id             = 0,
+       .dev            = {
+               .platform_data = &my_rotary_encoder_info,
+       }
+};
+
index 51104f9194a54feb64058f4b8f35f3b4d7cbc88f..d4b05672f9f76f3a17bde1c3599c23182ca8d361 100644 (file)
@@ -40,10 +40,16 @@ This document describes the Linux kernel Makefiles.
           --- 6.7 Custom kbuild commands
           --- 6.8 Preprocessing linker scripts
 
-       === 7 Kbuild Variables
-       === 8 Makefile language
-       === 9 Credits
-       === 10 TODO
+       === 7 Kbuild syntax for exported headers
+               --- 7.1 header-y
+               --- 7.2 objhdr-y
+               --- 7.3 destination-y
+               --- 7.4 unifdef-y (deprecated)
+
+       === 8 Kbuild Variables
+       === 9 Makefile language
+       === 10 Credits
+       === 11 TODO
 
 === 1 Overview
 
@@ -1143,8 +1149,69 @@ When kbuild executes, the following steps are followed (roughly):
        The kbuild infrastructure for *lds file are used in several
        architecture-specific files.
 
+=== 7 Kbuild syntax for exported headers
+
+The kernel include a set of headers that is exported to userspace.
+Many headers can be exported as-is but other headers requires  a
+minimal pre-processing before they are ready for user-space.
+The pre-processing does:
+- drop kernel specific annotations
+- drop include of compiler.h
+- drop all sections that is kernel internat (guarded by ifdef __KERNEL__)
+
+Each relevant directory contain a file name "Kbuild" which specify the
+headers to be exported.
+See subsequent chapter for the syntax of the Kbuild file.
+
+       --- 7.1 header-y
+
+       header-y specify header files to be exported.
+
+               Example:
+                       #include/linux/Kbuild
+                       header-y += usb/
+                       header-y += aio_abi.h
+
+       The convention is to list one file per line and
+       preferably in alphabetic order.
+
+       header-y also specify which subdirectories to visit.
+       A subdirectory is identified by a trailing '/' which
+       can be seen in the example above for the usb subdirectory.
+
+       Subdirectories are visited before their parent directories.
+
+       --- 7.2 objhdr-y
+
+       objhdr-y specifies generated files to be exported.
+       Generated files are special as they need to be looked
+       up in another directory when doing 'make O=...' builds.
+
+               Example:
+                       #include/linux/Kbuild
+                       objhdr-y += version.h
+
+       --- 7.3 destination-y
+
+       When an architecture have a set of exported headers that needs to be
+       exported to a different directory destination-y is used.
+       destination-y specify the destination directory for all exported
+       headers in the file where it is present.
+
+               Example:
+                       #arch/xtensa/platforms/s6105/include/platform/Kbuild
+                       destination-y := include/linux
+
+       In the example above all exported headers in the Kbuild file
+       will be located in the directory "include/linux" when exported.
+
+
+       --- 7.4 unifdef-y (deprecated)
+
+       unifdef-y is deprecated. A direct replacement is header-y.
+
 
-=== 7 Kbuild Variables
+=== 8 Kbuild Variables
 
 The top Makefile exports the following variables:
 
@@ -1206,7 +1273,7 @@ The top Makefile exports the following variables:
        INSTALL_MOD_STRIP will used as the option(s) to the strip command.
 
 
-=== 8 Makefile language
+=== 9 Makefile language
 
 The kernel Makefiles are designed to be run with GNU Make.  The Makefiles
 use only the documented features of GNU Make, but they do use many
@@ -1225,14 +1292,14 @@ time the left-hand side is used.
 There are some cases where "=" is appropriate.  Usually, though, ":="
 is the right choice.
 
-=== 9 Credits
+=== 10 Credits
 
 Original version made by Michael Elizabeth Chastain, <mailto:mec@shout.net>
 Updates by Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
 Updates by Sam Ravnborg <sam@ravnborg.org>
 Language QA by Jan Engelhardt <jengelh@gmx.de>
 
-=== 10 TODO
+=== 11 TODO
 
 - Describe how kbuild supports shipped files with _shipped.
 - Generating offset header files.
index 5ede7473b4251e43e53c5053e144cf12f3d6032a..08762750f12109acd05ab26c63efa1973fe2adad 100644 (file)
@@ -1242,7 +1242,7 @@ monitoring is enabled, and vice-versa.
 To add ARP targets:
 # echo +192.168.0.100 > /sys/class/net/bond0/bonding/arp_ip_target
 # echo +192.168.0.101 > /sys/class/net/bond0/bonding/arp_ip_target
-       NOTE:  up to 10 target addresses may be specified.
+       NOTE:  up to 16 target addresses may be specified.
 
 To remove an ARP target:
 # echo -192.168.0.100 > /sys/class/net/bond0/bonding/arp_ip_target
index d0ab33e21fe6a5c918f77d251025e335010700aa..b6d2e21474f9ea92656d7b19037f2366650303c2 100644 (file)
@@ -7,8 +7,10 @@ Required properties :
 
 Recommended properties :
 
- - compatible : Should be "fsl-i2c" for parts compatible with
-   Freescale I2C specifications.
+ - compatible : compatibility list with 2 entries, the first should
+   be "fsl,CHIP-i2c" where CHIP is the name of a compatible processor,
+   e.g. mpc8313, mpc8543, mpc8544, mpc5200 or mpc5200b. The second one
+   should be "fsl-i2c".
  - interrupts : <a b> where a is the interrupt number and b is a
    field that represents an encoding of the sense and level
    information for the interrupt.  This should be encoded based on
@@ -16,17 +18,31 @@ Recommended properties :
    controller you have.
  - interrupt-parent : the phandle for the interrupt controller that
    services interrupts for this device.
- - dfsrr : boolean; if defined, indicates that this I2C device has
-   a digital filter sampling rate register
- - fsl5200-clocking : boolean; if defined, indicated that this device
-   uses the FSL 5200 clocking mechanism.
-
-Example :
-       i2c@3000 {
-               interrupt-parent = <40000>;
-               interrupts = <1b 3>;
-               reg = <3000 18>;
-               device_type = "i2c";
-               compatible  = "fsl-i2c";
-               dfsrr;
+ - fsl,preserve-clocking : boolean; if defined, the clock settings
+   from the bootloader are preserved (not touched).
+ - clock-frequency : desired I2C bus clock frequency in Hz.
+
+Examples :
+
+       i2c@3d00 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
+               cell-index = <0>;
+               reg = <0x3d00 0x40>;
+               interrupts = <2 15 0>;
+               interrupt-parent = <&mpc5200_pic>;
+               fsl,preserve-clocking;
        };
+
+       i2c@3100 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               cell-index = <1>;
+               compatible = "fsl,mpc8544-i2c", "fsl-i2c";
+               reg = <0x3100 0x100>;
+               interrupts = <43 2>;
+               interrupt-parent = <&mpic>;
+               clock-frequency = <400000>;
+       };
+
index c5948f2f9a253eab2e2764a7002e912ae478fc8c..88b7433d2f117900e8c21823cc6917c736cb8e4e 100644 (file)
@@ -169,7 +169,7 @@ PCI SSID look-up.
 What `model` option values are available depends on the codec chip.
 Check your codec chip from the codec proc file (see "Codec Proc-File"
 section below).  It will show the vendor/product name of your codec
-chip.  Then, see Documentation/sound/alsa/HD-Audio-Modelstxt file,
+chip.  Then, see Documentation/sound/alsa/HD-Audio-Models.txt file,
 the section of HD-audio driver.  You can find a list of codecs
 and `model` options belonging to each codec.  For example, for Realtek
 ALC262 codec chip, pass `model=ultra` for devices that are compatible
@@ -177,7 +177,7 @@ with Samsung Q1 Ultra.
 
 Thus, the first thing you can do for any brand-new, unsupported and
 non-working HD-audio hardware is to check HD-audio codec and several
-different `model` option values.  If you have a luck, some of them
+different `model` option values.  If you have any luck, some of them
 might suit with your device well.
 
 Some codecs such as ALC880 have a special model option `model=test`.
index 42f43fa59f24c75c1f553dc5078f88b949302fd9..34c76a55bc0423182db5c73f76415503e2a7de1d 100644 (file)
@@ -42,6 +42,14 @@ sure that bitwise types don't get mixed up (little-endian vs big-endian
 vs cpu-endian vs whatever), and there the constant "0" really _is_
 special.
 
+__bitwise__ - to be used for relatively compact stuff (gfp_t, etc.) that
+is mostly warning-free and is supposed to stay that way.  Warnings will
+be generated without __CHECK_ENDIAN__.
+
+__bitwise - noisy stuff; in particular, __le*/__be* are that.  We really
+don't want to drown in noise unless we'd explicitly asked for it.
+
+
 Getting sparse
 ~~~~~~~~~~~~~~
 
index a34d55b65441a3cd2469efe71438b60ce3c53e4e..df38ef046f8d1372ef2ff0d45debb7b15c04f64c 100644 (file)
@@ -95,7 +95,7 @@ of struct cmsghdr structures with appended data.
 
 There is only one file in this directory.
 unix_dgram_qlen limits the max number of datagrams queued in Unix domain
-socket's buffer. It will not take effect unless PF_UNIX flag is spicified.
+socket's buffer. It will not take effect unless PF_UNIX flag is specified.
 
 
 3. /proc/sys/net/ipv4 - IPV4 settings
diff --git a/Documentation/tomoyo.txt b/Documentation/tomoyo.txt
new file mode 100644 (file)
index 0000000..b3a232c
--- /dev/null
@@ -0,0 +1,55 @@
+--- What is TOMOYO? ---
+
+TOMOYO is a name-based MAC extension (LSM module) for the Linux kernel.
+
+LiveCD-based tutorials are available at
+http://tomoyo.sourceforge.jp/en/1.6.x/1st-step/ubuntu8.04-live/
+http://tomoyo.sourceforge.jp/en/1.6.x/1st-step/centos5-live/ .
+Though these tutorials use non-LSM version of TOMOYO, they are useful for you
+to know what TOMOYO is.
+
+--- How to enable TOMOYO? ---
+
+Build the kernel with CONFIG_SECURITY_TOMOYO=y and pass "security=tomoyo" on
+kernel's command line.
+
+Please see http://tomoyo.sourceforge.jp/en/2.2.x/ for details.
+
+--- Where is documentation? ---
+
+User <-> Kernel interface documentation is available at
+http://tomoyo.sourceforge.jp/en/2.2.x/policy-reference.html .
+
+Materials we prepared for seminars and symposiums are available at
+http://sourceforge.jp/projects/tomoyo/docs/?category_id=532&language_id=1 .
+Below lists are chosen from three aspects.
+
+What is TOMOYO?
+  TOMOYO Linux Overview
+    http://sourceforge.jp/projects/tomoyo/docs/lca2009-takeda.pdf
+  TOMOYO Linux: pragmatic and manageable security for Linux
+    http://sourceforge.jp/projects/tomoyo/docs/freedomhectaipei-tomoyo.pdf
+  TOMOYO Linux: A Practical Method to Understand and Protect Your Own Linux Box
+    http://sourceforge.jp/projects/tomoyo/docs/PacSec2007-en-no-demo.pdf
+
+What can TOMOYO do?
+  Deep inside TOMOYO Linux
+    http://sourceforge.jp/projects/tomoyo/docs/lca2009-kumaneko.pdf
+  The role of "pathname based access control" in security.
+    http://sourceforge.jp/projects/tomoyo/docs/lfj2008-bof.pdf
+
+History of TOMOYO?
+  Realities of Mainlining
+    http://sourceforge.jp/projects/tomoyo/docs/lfj2008.pdf
+
+--- What is future plan? ---
+
+We believe that inode based security and name based security are complementary
+and both should be used together. But unfortunately, so far, we cannot enable
+multiple LSM modules at the same time. We feel sorry that you have to give up
+SELinux/SMACK/AppArmor etc. when you want to use TOMOYO.
+
+We hope that LSM becomes stackable in future. Meanwhile, you can use non-LSM
+version of TOMOYO, available at http://tomoyo.sourceforge.jp/en/1.6.x/ .
+LSM version of TOMOYO is a subset of non-LSM version of TOMOYO. We are planning
+to port non-LSM version's functionalities to LSM versions.
index 2131b00b63f68bc071f8a479de25bbfd2fd4172e..2f77ced35df71550db59439efefad0a3045957d3 100644 (file)
@@ -1,5 +1,7 @@
 00-INDEX
        - this file.
+active_mm.txt
+       - An explanation from Linus about tsk->active_mm vs tsk->mm.
 balance
        - various information on memory balancing.
 hugetlbpage.txt
diff --git a/Documentation/vm/active_mm.txt b/Documentation/vm/active_mm.txt
new file mode 100644 (file)
index 0000000..4ee1f64
--- /dev/null
@@ -0,0 +1,83 @@
+List:       linux-kernel
+Subject:    Re: active_mm
+From:       Linus Torvalds <torvalds () transmeta ! com>
+Date:       1999-07-30 21:36:24
+
+Cc'd to linux-kernel, because I don't write explanations all that often,
+and when I do I feel better about more people reading them.
+
+On Fri, 30 Jul 1999, David Mosberger wrote:
+>
+> Is there a brief description someplace on how "mm" vs. "active_mm" in
+> the task_struct are supposed to be used?  (My apologies if this was
+> discussed on the mailing lists---I just returned from vacation and
+> wasn't able to follow linux-kernel for a while).
+
+Basically, the new setup is:
+
+ - we have "real address spaces" and "anonymous address spaces". The
+   difference is that an anonymous address space doesn't care about the
+   user-level page tables at all, so when we do a context switch into an
+   anonymous address space we just leave the previous address space
+   active.
+
+   The obvious use for a "anonymous address space" is any thread that
+   doesn't need any user mappings - all kernel threads basically fall into
+   this category, but even "real" threads can temporarily say that for
+   some amount of time they are not going to be interested in user space,
+   and that the scheduler might as well try to avoid wasting time on
+   switching the VM state around. Currently only the old-style bdflush
+   sync does that.
+
+ - "tsk->mm" points to the "real address space". For an anonymous process,
+   tsk->mm will be NULL, for the logical reason that an anonymous process
+   really doesn't _have_ a real address space at all.
+
+ - however, we obviously need to keep track of which address space we
+   "stole" for such an anonymous user. For that, we have "tsk->active_mm",
+   which shows what the currently active address space is.
+
+   The rule is that for a process with a real address space (ie tsk->mm is
+   non-NULL) the active_mm obviously always has to be the same as the real
+   one.
+
+   For a anonymous process, tsk->mm == NULL, and tsk->active_mm is the
+   "borrowed" mm while the anonymous process is running. When the
+   anonymous process gets scheduled away, the borrowed address space is
+   returned and cleared.
+
+To support all that, the "struct mm_struct" now has two counters: a
+"mm_users" counter that is how many "real address space users" there are,
+and a "mm_count" counter that is the number of "lazy" users (ie anonymous
+users) plus one if there are any real users.
+
+Usually there is at least one real user, but it could be that the real
+user exited on another CPU while a lazy user was still active, so you do
+actually get cases where you have a address space that is _only_ used by
+lazy users. That is often a short-lived state, because once that thread
+gets scheduled away in favour of a real thread, the "zombie" mm gets
+released because "mm_users" becomes zero.
+
+Also, a new rule is that _nobody_ ever has "init_mm" as a real MM any
+more. "init_mm" should be considered just a "lazy context when no other
+context is available", and in fact it is mainly used just at bootup when
+no real VM has yet been created. So code that used to check
+
+       if (current->mm == &init_mm)
+
+should generally just do
+
+       if (!current->mm)
+
+instead (which makes more sense anyway - the test is basically one of "do
+we have a user context", and is generally done by the page fault handler
+and things like that).
+
+Anyway, I put a pre-patch-2.3.13-1 on ftp.kernel.org just a moment ago,
+because it slightly changes the interfaces to accomodate the alpha (who
+would have thought it, but the alpha actually ends up having one of the
+ugliest context switch codes - unlike the other architectures where the MM
+and register state is separate, the alpha PALcode joins the two, and you
+need to switch both together).
+
+(From http://marc.info/?l=linux-kernel&m=93337278602211&w=2)
index 0706a7282a8ca6ce26b39fd7d7d7c930d6891c94..2d70d0d95108e2ceb23af366e6d3169ca1101e7f 100644 (file)
-
-This document describes the Linux memory management "Unevictable LRU"
-infrastructure and the use of this infrastructure to manage several types
-of "unevictable" pages.  The document attempts to provide the overall
-rationale behind this mechanism and the rationale for some of the design
-decisions that drove the implementation.  The latter design rationale is
-discussed in the context of an implementation description.  Admittedly, one
-can obtain the implementation details--the "what does it do?"--by reading the
-code.  One hopes that the descriptions below add value by provide the answer
-to "why does it do that?".
-
-Unevictable LRU Infrastructure:
-
-The Unevictable LRU adds an additional LRU list to track unevictable pages
-and to hide these pages from vmscan.  This mechanism is based on a patch by
-Larry Woodman of Red Hat to address several scalability problems with page
+                       ==============================
+                       UNEVICTABLE LRU INFRASTRUCTURE
+                       ==============================
+
+========
+CONTENTS
+========
+
+ (*) The Unevictable LRU
+
+     - The unevictable page list.
+     - Memory control group interaction.
+     - Marking address spaces unevictable.
+     - Detecting Unevictable Pages.
+     - vmscan's handling of unevictable pages.
+
+ (*) mlock()'d pages.
+
+     - History.
+     - Basic management.
+     - mlock()/mlockall() system call handling.
+     - Filtering special vmas.
+     - munlock()/munlockall() system call handling.
+     - Migrating mlocked pages.
+     - mmap(MAP_LOCKED) system call handling.
+     - munmap()/exit()/exec() system call handling.
+     - try_to_unmap().
+     - try_to_munlock() reverse map scan.
+     - Page reclaim in shrink_*_list().
+
+
+============
+INTRODUCTION
+============
+
+This document describes the Linux memory manager's "Unevictable LRU"
+infrastructure and the use of this to manage several types of "unevictable"
+pages.
+
+The document attempts to provide the overall rationale behind this mechanism
+and the rationale for some of the design decisions that drove the
+implementation.  The latter design rationale is discussed in the context of an
+implementation description.  Admittedly, one can obtain the implementation
+details - the "what does it do?" - by reading the code.  One hopes that the
+descriptions below add value by provide the answer to "why does it do that?".
+
+
+===================
+THE UNEVICTABLE LRU
+===================
+
+The Unevictable LRU facility adds an additional LRU list to track unevictable
+pages and to hide these pages from vmscan.  This mechanism is based on a patch
+by Larry Woodman of Red Hat to address several scalability problems with page
 reclaim in Linux.  The problems have been observed at customer sites on large
-memory x86_64 systems.  For example, a non-numal x86_64 platform with 128GB
-of main memory will have over 32 million 4k pages in a single zone.  When a
-large fraction of these pages are not evictable for any reason [see below],
-vmscan will spend a lot of time scanning the LRU lists looking for the small
-fraction of pages that are evictable.  This can result in a situation where
-all cpus are spending 100% of their time in vmscan for hours or days on end,
-with the system completely unresponsive.
-
-The Unevictable LRU infrastructure addresses the following classes of
-unevictable pages:
-
-+ page owned by ramfs
-+ page mapped into SHM_LOCKed shared memory regions
-+ page mapped into VM_LOCKED [mlock()ed] vmas
-
-The infrastructure might be able to handle other conditions that make pages
+memory x86_64 systems.
+
+To illustrate this with an example, a non-NUMA x86_64 platform with 128GB of
+main memory will have over 32 million 4k pages in a single zone.  When a large
+fraction of these pages are not evictable for any reason [see below], vmscan
+will spend a lot of time scanning the LRU lists looking for the small fraction
+of pages that are evictable.  This can result in a situation where all CPUs are
+spending 100% of their time in vmscan for hours or days on end, with the system
+completely unresponsive.
+
+The unevictable list addresses the following classes of unevictable pages:
+
+ (*) Those owned by ramfs.
+
+ (*) Those mapped into SHM_LOCK'd shared memory regions.
+
+ (*) Those mapped into VM_LOCKED [mlock()ed] VMAs.
+
+The infrastructure may also be able to handle other conditions that make pages
 unevictable, either by definition or by circumstance, in the future.
 
 
-The Unevictable LRU List
+THE UNEVICTABLE PAGE LIST
+-------------------------
 
 The Unevictable LRU infrastructure consists of an additional, per-zone, LRU list
 called the "unevictable" list and an associated page flag, PG_unevictable, to
-indicate that the page is being managed on the unevictable list.  The
-PG_unevictable flag is analogous to, and mutually exclusive with, the PG_active
-flag in that it indicates on which LRU list a page resides when PG_lru is set.
-The unevictable LRU list is source configurable based on the UNEVICTABLE_LRU
-Kconfig option.
+indicate that the page is being managed on the unevictable list.
+
+The PG_unevictable flag is analogous to, and mutually exclusive with, the
+PG_active flag in that it indicates on which LRU list a page resides when
+PG_lru is set.  The unevictable list is compile-time configurable based on the
+UNEVICTABLE_LRU Kconfig option.
 
 The Unevictable LRU infrastructure maintains unevictable pages on an additional
 LRU list for a few reasons:
 
-1) We get to "treat unevictable pages just like we treat other pages in the
-   system, which means we get to use the same code to manipulate them, the
-   same code to isolate them (for migrate, etc.), the same code to keep track
-   of the statistics, etc..." [Rik van Riel]
+ (1) We get to "treat unevictable pages just like we treat other pages in the
+     system - which means we get to use the same code to manipulate them, the
+     same code to isolate them (for migrate, etc.), the same code to keep track
+     of the statistics, etc..." [Rik van Riel]
+
+ (2) We want to be able to migrate unevictable pages between nodes for memory
+     defragmentation, workload management and memory hotplug.  The linux kernel
+     can only migrate pages that it can successfully isolate from the LRU
+     lists.  If we were to maintain pages elsewhere than on an LRU-like list,
+     where they can be found by isolate_lru_page(), we would prevent their
+     migration, unless we reworked migration code to find the unevictable pages
+     itself.
 
-2) We want to be able to migrate unevictable pages between nodes--for memory
-   defragmentation, workload management and memory hotplug.  The linux kernel
-   can only migrate pages that it can successfully isolate from the lru lists.
-   If we were to maintain pages elsewise than on an lru-like list, where they
-   can be found by isolate_lru_page(), we would prevent their migration, unless
-   we reworked migration code to find the unevictable pages.
 
+The unevictable list does not differentiate between file-backed and anonymous,
+swap-backed pages.  This differentiation is only important while the pages are,
+in fact, evictable.
 
-The unevictable LRU list does not differentiate between file backed and swap
-backed [anon] pages.  This differentiation is only important while the pages
-are, in fact, evictable.
+The unevictable list benefits from the "arrayification" of the per-zone LRU
+lists and statistics originally proposed and posted by Christoph Lameter.
 
-The unevictable LRU list benefits from the "arrayification" of the per-zone
-LRU lists and statistics originally proposed and posted by Christoph Lameter.
+The unevictable list does not use the LRU pagevec mechanism. Rather,
+unevictable pages are placed directly on the page's zone's unevictable list
+under the zone lru_lock.  This allows us to prevent the stranding of pages on
+the unevictable list when one task has the page isolated from the LRU and other
+tasks are changing the "evictability" state of the page.
 
-The unevictable list does not use the lru pagevec mechanism. Rather,
-unevictable pages are placed directly on the page's zone's unevictable
-list under the zone lru_lock.  The reason for this is to prevent stranding
-of pages on the unevictable list when one task has the page isolated from the
-lru and other tasks are changing the "evictability" state of the page.
 
+MEMORY CONTROL GROUP INTERACTION
+--------------------------------
 
-Unevictable LRU and Memory Controller Interaction
+The unevictable LRU facility interacts with the memory control group [aka
+memory controller; see Documentation/cgroups/memory.txt] by extending the
+lru_list enum.
+
+The memory controller data structure automatically gets a per-zone unevictable
+list as a result of the "arrayification" of the per-zone LRU lists (one per
+lru_list enum element).  The memory controller tracks the movement of pages to
+and from the unevictable list.
 
-The memory controller data structure automatically gets a per zone unevictable
-lru list as a result of the "arrayification" of the per-zone LRU lists.  The
-memory controller tracks the movement of pages to and from the unevictable list.
 When a memory control group comes under memory pressure, the controller will
 not attempt to reclaim pages on the unevictable list.  This has a couple of
-effects.  Because the pages are "hidden" from reclaim on the unevictable list,
-the reclaim process can be more efficient, dealing only with pages that have
-a chance of being reclaimed.  On the other hand, if too many of the pages
-charged to the control group are unevictable, the evictable portion of the
-working set of the tasks in the control group may not fit into the available
-memory.  This can cause the control group to thrash or to oom-kill tasks.
-
-
-Unevictable LRU:  Detecting Unevictable Pages
-
-The function page_evictable(page, vma) in vmscan.c determines whether a
-page is evictable or not.  For ramfs pages and pages in SHM_LOCKed regions,
-page_evictable() tests a new address space flag, AS_UNEVICTABLE, in the page's
-address space using a wrapper function.  Wrapper functions are used to set,
-clear and test the flag to reduce the requirement for #ifdef's throughout the
-source code.  AS_UNEVICTABLE is set on ramfs inode/mapping when it is created.
-This flag remains for the life of the inode.
-
-For shared memory regions, AS_UNEVICTABLE is set when an application
-successfully SHM_LOCKs the region and is removed when the region is
-SHM_UNLOCKed.  Note that shmctl(SHM_LOCK, ...) does not populate the page
-tables for the region as does, for example, mlock().   So, we make no special
-effort to push any pages in the SHM_LOCKed region to the unevictable list.
-Vmscan will do this when/if it encounters the pages during reclaim.  On
-SHM_UNLOCK, shmctl() scans the pages in the region and "rescues" them from the
-unevictable list if no other condition keeps them unevictable.  If a SHM_LOCKed
-region is destroyed, the pages are also "rescued" from the unevictable list in
-the process of freeing them.
-
-page_evictable() detects mlock()ed pages by testing an additional page flag,
-PG_mlocked via the PageMlocked() wrapper.  If the page is NOT mlocked, and a
-non-NULL vma is supplied, page_evictable() will check whether the vma is
+effects:
+
+ (1) Because the pages are "hidden" from reclaim on the unevictable list, the
+     reclaim process can be more efficient, dealing only with pages that have a
+     chance of being reclaimed.
+
+ (2) On the other hand, if too many of the pages charged to the control group
+     are unevictable, the evictable portion of the working set of the tasks in
+     the control group may not fit into the available memory.  This can cause
+     the control group to thrash or to OOM-kill tasks.
+
+
+MARKING ADDRESS SPACES UNEVICTABLE
+----------------------------------
+
+For facilities such as ramfs none of the pages attached to the address space
+may be evicted.  To prevent eviction of any such pages, the AS_UNEVICTABLE
+address space flag is provided, and this can be manipulated by a filesystem
+using a number of wrapper functions:
+
+ (*) void mapping_set_unevictable(struct address_space *mapping);
+
+       Mark the address space as being completely unevictable.
+
+ (*) void mapping_clear_unevictable(struct address_space *mapping);
+
+       Mark the address space as being evictable.
+
+ (*) int mapping_unevictable(struct address_space *mapping);
+
+       Query the address space, and return true if it is completely
+       unevictable.
+
+These are currently used in two places in the kernel:
+
+ (1) By ramfs to mark the address spaces of its inodes when they are created,
+     and this mark remains for the life of the inode.
+
+ (2) By SYSV SHM to mark SHM_LOCK'd address spaces until SHM_UNLOCK is called.
+
+     Note that SHM_LOCK is not required to page in the locked pages if they're
+     swapped out; the application must touch the pages manually if it wants to
+     ensure they're in memory.
+
+
+DETECTING UNEVICTABLE PAGES
+---------------------------
+
+The function page_evictable() in vmscan.c determines whether a page is
+evictable or not using the query function outlined above [see section "Marking
+address spaces unevictable"] to check the AS_UNEVICTABLE flag.
+
+For address spaces that are so marked after being populated (as SHM regions
+might be), the lock action (eg: SHM_LOCK) can be lazy, and need not populate
+the page tables for the region as does, for example, mlock(), nor need it make
+any special effort to push any pages in the SHM_LOCK'd area to the unevictable
+list.  Instead, vmscan will do this if and when it encounters the pages during
+a reclamation scan.
+
+On an unlock action (such as SHM_UNLOCK), the unlocker (eg: shmctl()) must scan
+the pages in the region and "rescue" them from the unevictable list if no other
+condition is keeping them unevictable.  If an unevictable region is destroyed,
+the pages are also "rescued" from the unevictable list in the process of
+freeing them.
+
+page_evictable() also checks for mlocked pages by testing an additional page
+flag, PG_mlocked (as wrapped by PageMlocked()).  If the page is NOT mlocked,
+and a non-NULL VMA is supplied, page_evictable() will check whether the VMA is
 VM_LOCKED via is_mlocked_vma().  is_mlocked_vma() will SetPageMlocked() and
 update the appropriate statistics if the vma is VM_LOCKED.  This method allows
 efficient "culling" of pages in the fault path that are being faulted in to
-VM_LOCKED vmas.
+VM_LOCKED VMAs.
 
 
-Unevictable Pages and Vmscan [shrink_*_list()]
+VMSCAN'S HANDLING OF UNEVICTABLE PAGES
+--------------------------------------
 
 If unevictable pages are culled in the fault path, or moved to the unevictable
-list at mlock() or mmap() time, vmscan will never encounter the pages until
-they have become evictable again, for example, via munlock() and have been
-"rescued" from the unevictable list.  However, there may be situations where we
-decide, for the sake of expediency, to leave a unevictable page on one of the
-regular active/inactive LRU lists for vmscan to deal with.  Vmscan checks for
-such pages in all of the shrink_{active|inactive|page}_list() functions and
-will "cull" such pages that it encounters--that is, it diverts those pages to
-the unevictable list for the zone being scanned.
-
-There may be situations where a page is mapped into a VM_LOCKED vma, but the
-page is not marked as PageMlocked.  Such pages will make it all the way to
+list at mlock() or mmap() time, vmscan will not encounter the pages until they
+have become evictable again (via munlock() for example) and have been "rescued"
+from the unevictable list.  However, there may be situations where we decide,
+for the sake of expediency, to leave a unevictable page on one of the regular
+active/inactive LRU lists for vmscan to deal with.  vmscan checks for such
+pages in all of the shrink_{active|inactive|page}_list() functions and will
+"cull" such pages that it encounters: that is, it diverts those pages to the
+unevictable list for the zone being scanned.
+
+There may be situations where a page is mapped into a VM_LOCKED VMA, but the
+page is not marked as PG_mlocked.  Such pages will make it all the way to
 shrink_page_list() where they will be detected when vmscan walks the reverse
-map in try_to_unmap().  If try_to_unmap() returns SWAP_MLOCK, shrink_page_list()
-will cull the page at that point.
+map in try_to_unmap().  If try_to_unmap() returns SWAP_MLOCK,
+shrink_page_list() will cull the page at that point.
 
-To "cull" an unevictable page, vmscan simply puts the page back on the lru
-list using putback_lru_page()--the inverse operation to isolate_lru_page()--
-after dropping the page lock.  Because the condition which makes the page
-unevictable may change once the page is unlocked, putback_lru_page() will
-recheck the unevictable state of a page that it places on the unevictable lru
-list.  If the page has become unevictable, putback_lru_page() removes it from
-the list and retries, including the page_unevictable() test.  Because such a
-race is a rare event and movement of pages onto the unevictable list should be
-rare, these extra evictabilty checks should not occur in the majority of calls
-to putback_lru_page().
+To "cull" an unevictable page, vmscan simply puts the page back on the LRU list
+using putback_lru_page() - the inverse operation to isolate_lru_page() - after
+dropping the page lock.  Because the condition which makes the page unevictable
+may change once the page is unlocked, putback_lru_page() will recheck the
+unevictable state of a page that it places on the unevictable list.  If the
+page has become unevictable, putback_lru_page() removes it from the list and
+retries, including the page_unevictable() test.  Because such a race is a rare
+event and movement of pages onto the unevictable list should be rare, these
+extra evictabilty checks should not occur in the majority of calls to
+putback_lru_page().
 
 
-Mlocked Page:  Prior Work
+=============
+MLOCKED PAGES
+=============
 
-The "Unevictable Mlocked Pages" infrastructure is based on work originally
+The unevictable page list is also useful for mlock(), in addition to ramfs and
+SYSV SHM.  Note that mlock() is only available in CONFIG_MMU=y situations; in
+NOMMU situations, all mappings are effectively mlocked.
+
+
+HISTORY
+-------
+
+The "Unevictable mlocked Pages" infrastructure is based on work originally
 posted by Nick Piggin in an RFC patch entitled "mm: mlocked pages off LRU".
-Nick posted his patch as an alternative to a patch posted by Christoph
-Lameter to achieve the same objective--hiding mlocked pages from vmscan.
-In Nick's patch, he used one of the struct page lru list link fields as a count
-of VM_LOCKED vmas that map the page.  This use of the link field for a count
-prevented the management of the pages on an LRU list.  Thus, mlocked pages were
-not migratable as isolate_lru_page() could not find them and the lru list link
-field was not available to the migration subsystem.  Nick resolved this by
-putting mlocked pages back on the lru list before attempting to isolate them,
-thus abandoning the count of VM_LOCKED vmas.  When Nick's patch was integrated
-with the Unevictable LRU work, the count was replaced by walking the reverse
-map to determine whether any VM_LOCKED vmas mapped the page.  More on this
-below.
-
-
-Mlocked Pages:  Basic Management
-
-Mlocked pages--pages mapped into a VM_LOCKED vma--represent one class of
-unevictable pages.  When such a page has been "noticed" by the memory
-management subsystem, the page is marked with the PG_mlocked [PageMlocked()]
-flag.  A PageMlocked() page will be placed on the unevictable LRU list when
-it is added to the LRU.   Pages can be "noticed" by memory management in
-several places:
-
-1) in the mlock()/mlockall() system call handlers.
-2) in the mmap() system call handler when mmap()ing a region with the
-   MAP_LOCKED flag, or mmap()ing a region in a task that has called
-   mlockall() with the MCL_FUTURE flag.  Both of these conditions result
-   in the VM_LOCKED flag being set for the vma.
-3) in the fault path, if mlocked pages are "culled" in the fault path,
-   and when a VM_LOCKED stack segment is expanded.
-4) as mentioned above, in vmscan:shrink_page_list() when attempting to
-   reclaim a page in a VM_LOCKED vma via try_to_unmap().
-
-Mlocked pages become unlocked and rescued from the unevictable list when:
-
-1) mapped in a range unlocked via the munlock()/munlockall() system calls.
-2) munmapped() out of the last VM_LOCKED vma that maps the page, including
-   unmapping at task exit.
-3) when the page is truncated from the last VM_LOCKED vma of an mmap()ed file.
-4) before a page is COWed in a VM_LOCKED vma.
-
-
-Mlocked Pages:  mlock()/mlockall() System Call Handling
+Nick posted his patch as an alternative to a patch posted by Christoph Lameter
+to achieve the same objective: hiding mlocked pages from vmscan.
+
+In Nick's patch, he used one of the struct page LRU list link fields as a count
+of VM_LOCKED VMAs that map the page.  This use of the link field for a count
+prevented the management of the pages on an LRU list, and thus mlocked pages
+were not migratable as isolate_lru_page() could not find them, and the LRU list
+link field was not available to the migration subsystem.
+
+Nick resolved this by putting mlocked pages back on the lru list before
+attempting to isolate them, thus abandoning the count of VM_LOCKED VMAs.  When
+Nick's patch was integrated with the Unevictable LRU work, the count was
+replaced by walking the reverse map to determine whether any VM_LOCKED VMAs
+mapped the page.  More on this below.
+
+
+BASIC MANAGEMENT
+----------------
+
+mlocked pages - pages mapped into a VM_LOCKED VMA - are a class of unevictable
+pages.  When such a page has been "noticed" by the memory management subsystem,
+the page is marked with the PG_mlocked flag.  This can be manipulated using the
+PageMlocked() functions.
+
+A PG_mlocked page will be placed on the unevictable list when it is added to
+the LRU.  Such pages can be "noticed" by memory management in several places:
+
+ (1) in the mlock()/mlockall() system call handlers;
+
+ (2) in the mmap() system call handler when mmapping a region with the
+     MAP_LOCKED flag;
+
+ (3) mmapping a region in a task that has called mlockall() with the MCL_FUTURE
+     flag
+
+ (4) in the fault path, if mlocked pages are "culled" in the fault path,
+     and when a VM_LOCKED stack segment is expanded; or
+
+ (5) as mentioned above, in vmscan:shrink_page_list() when attempting to
+     reclaim a page in a VM_LOCKED VMA via try_to_unmap()
+
+all of which result in the VM_LOCKED flag being set for the VMA if it doesn't
+already have it set.
+
+mlocked pages become unlocked and rescued from the unevictable list when:
+
+ (1) mapped in a range unlocked via the munlock()/munlockall() system calls;
+
+ (2) munmap()'d out of th