Skip to content
  1. Nov 03, 2011
    • Andrea Arcangeli's avatar
      mm: thp: tail page refcounting fix · 70b50f94
      Andrea Arcangeli authored
      
      
      Michel while working on the working set estimation code, noticed that
      calling get_page_unless_zero() on a random pfn_to_page(random_pfn)
      wasn't safe, if the pfn ended up being a tail page of a transparent
      hugepage under splitting by __split_huge_page_refcount().
      
      He then found the problem could also theoretically materialize with
      page_cache_get_speculative() during the speculative radix tree lookups
      that uses get_page_unless_zero() in SMP if the radix tree page is freed
      and reallocated and get_user_pages is called on it before
      page_cache_get_speculative has a chance to call get_page_unless_zero().
      
      So the best way to fix the problem is to keep page_tail->_count zero at
      all times.  This will guarantee that get_page_unless_zero() can never
      succeed on any tail page.  page_tail->_mapcount is guaranteed zero and
      is unused for all tail pages of a compound page, so we can simply
      account the tail page references there and transfer them to
      tail_page->_count in __split_huge_page_refcount() (in addition to the
      head_page->_mapcount).
      
      While debugging this s/_count/_mapcount/ change I also noticed get_page is
      called by direct-io.c on pages returned by get_user_pages.  That wasn't
      entirely safe because the two atomic_inc in get_page weren't atomic.  As
      opposed to other get_user_page users like secondary-MMU page fault to
      establish the shadow pagetables would never call any superflous get_page
      after get_user_page returns.  It's safer to make get_page universally safe
      for tail pages and to use get_page_foll() within follow_page (inside
      get_user_pages()).  get_page_foll() is safe to do the refcounting for tail
      pages without taking any locks because it is run within PT lock protected
      critical sections (PT lock for pte and page_table_lock for
      pmd_trans_huge).
      
      The standard get_page() as invoked by direct-io instead will now take
      the compound_lock but still only for tail pages.  The direct-io paths
      are usually I/O bound and the compound_lock is per THP so very
      finegrined, so there's no risk of scalability issues with it.  A simple
      direct-io benchmarks with all lockdep prove locking and spinlock
      debugging infrastructure enabled shows identical performance and no
      overhead.  So it's worth it.  Ideally direct-io should stop calling
      get_page() on pages returned by get_user_pages().  The spinlock in
      get_page() is already optimized away for no-THP builds but doing
      get_page() on tail pages returned by GUP is generally a rare operation
      and usually only run in I/O paths.
      
      This new refcounting on page_tail->_mapcount in addition to avoiding new
      RCU critical sections will also allow the working set estimation code to
      work without any further complexity associated to the tail page
      refcounting with THP.
      
      Signed-off-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
      Reported-by: default avatarMichel Lespinasse <walken@google.com>
      Reviewed-by: default avatarMichel Lespinasse <walken@google.com>
      Reviewed-by: default avatarMinchan Kim <minchan.kim@gmail.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Johannes Weiner <jweiner@redhat.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Gibson <david@gibson.dropbear.id.au>
      Cc: <stable@kernel.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      70b50f94
  2. Nov 02, 2011
    • Linus Torvalds's avatar
      Merge branch 'next/soc' of git://git.linaro.org/people/arnd/arm-soc · 994c0e99
      Linus Torvalds authored
      * 'next/soc' of git://git.linaro.org/people/arnd/arm-soc: (21 commits)
        MAINTAINERS: add ARM/FREESCALE IMX6 entry
        arm/imx: merge i.MX3 and i.MX6
        arm/imx6q: add suspend/resume support
        arm/imx6q: add device tree machine support
        arm/imx6q: add smp and cpu hotplug support
        arm/imx6q: add core drivers clock, gpc, mmdc and src
        arm/imx: add gic_handle_irq function
        arm/imx6q: add core definitions and low-level debug uart
        arm/imx6q: add device tree source
        ARM: highbank: add suspend support
        ARM: highbank: Add cpu hotplug support
        ARM: highbank: add SMP support
        MAINTAINERS: add Calxeda Highbank ARM platform
        ARM: add Highbank core platform support
        ARM: highbank: add devicetree source
        ARM: l2x0: add empty l2x0_of_init
        picoxcell: add a definition of VMALLOC_END
        picoxcell: remove custom ioremap implementation
        picoxcell: add the DTS for the PC7302 board
        picoxcell: add the DTS for pc3x2 and pc3x3 devices
        ...
      
      Fix up trivial conflicts in arch/arm/Kconfig, and some more header file
      conflicts in arch/arm/mach-omap2/board-generic.c (as per an ealier merge
      by Arnd).
      994c0e99
    • Linus Torvalds's avatar
      Merge branch 'next/dt' of git://git.linaro.org/people/arnd/arm-soc · 367069f1
      Linus Torvalds authored
      * 'next/dt' of git://git.linaro.org/people/arnd/arm-soc:
        ARM: gic: use module.h instead of export.h
        ARM: gic: fix irq_alloc_descs handling for sparse irq
        ARM: gic: add OF based initialization
        ARM: gic: add irq_domain support
        irq: support domains with non-zero hwirq base
        of/irq: introduce of_irq_init
        ARM: at91: add at91sam9g20 and Calao USB A9G20 DT support
        ARM: at91: dt: at91sam9g45 family and board device tree files
        arm/mx5: add device tree support for imx51 babbage
        arm/mx5: add device tree support for imx53 boards
        ARM: msm: Add devicetree support for msm8660-surf
        msm_serial: Add devicetree support
        msm_serial: Use relative resources for iomem
      
      Fix up conflicts in arch/arm/mach-at91/{at91sam9260.c,at91sam9g45.c}
      367069f1
    • Linus Torvalds's avatar
      Merge branch 'next/cleanup2' of git://git.linaro.org/people/arnd/arm-soc · 81a3c10c
      Linus Torvalds authored
      * 'next/cleanup2' of git://git.linaro.org/people/arnd/arm-soc: (31 commits)
        ARM: OMAP: Warn if omap_ioremap is called before SoC detection
        ARM: OMAP: Move set_globals initialization to happen in init_early
        ARM: OMAP: Map SRAM later on with ioremap_exec()
        ARM: OMAP: Remove calls to SRAM allocations for framebuffer
        ARM: OMAP: Avoid cpu_is_omapxxxx usage until map_io is done
        ARM: OMAP1: Use generic map_io, init_early and init_irq
        arm/dts: OMAP3+: Add mpu, dsp and iva nodes
        arm/dts: OMAP4: Add a main ocp entry bound to l3-noc driver
        ARM: OMAP2+: l3-noc: Add support for device-tree
        ARM: OMAP2+: board-generic: Add i2c static init
        ARM: OMAP2+: board-generic: Add DT support to generic board
        arm/dts: Add support for OMAP3 Beagle board
        arm/dts: Add initial device tree support for OMAP3 SoC
        arm/dts: Add support for OMAP4 SDP board
        arm/dts: Add support for OMAP4 PandaBoard
        arm/dts: Add initial device tree support for OMAP4 SoC
        ARM: OMAP: omap_device: Add a method to build an omap_device from a DT node
        ARM: OMAP: omap_device: Add omap_device_[alloc|delete] for DT integration
        of: Add helpers to get one string in multiple strings property
        ARM: OMAP2+: devices: Remove all omap_device_pm_latency structures
        ...
      
      Fix up trivial header file conflicts in arch/arm/mach-omap2/board-generic.c
      81a3c10c
    • Linus Torvalds's avatar
      Merge branch 'next/cross-platform' of git://git.linaro.org/people/arnd/arm-soc · 6585dea1
      Linus Torvalds authored
      * 'next/cross-platform' of git://git.linaro.org/people/arnd/arm-soc:
        arm/imx: use Kconfig choice for low-level debug UART selection
        ARM: realview: use Kconfig choice for debug UART selection
        ARM: plat-samsung: use Kconfig choice for debug UART selection
        ARM: versatile: convert logical CPU numbers to physical numbers
        ARM: ux500: convert logical CPU numbers to physical numbers
        ARM: shmobile: convert logical CPU numbers to physical numbers
        ARM: msm: convert logical CPU numbers to physical numbers
        ARM: exynos4: convert logical CPU numbers to physical numbers
      
      Fix up trivial conflict (config DEBUG_S3C_UART move/split vs addition of
      ARM_KPROBES_TEST option) in arch/arm/Kconfig.debug
      6585dea1
    • Linus Torvalds's avatar
      Merge branch 'next/devel' of git://git.linaro.org/people/arnd/arm-soc · 16ee792e
      Linus Torvalds authored
      * 'next/devel' of git://git.linaro.org/people/arnd/arm-soc: (50 commits)
        ARM: tegra: update defconfig
        arm/tegra: Harmony: Configure PMC for low-level interrupts
        arm/tegra: device tree support for ventana board
        arm/tegra: add support for ventana pinmuxing
        arm/tegra: prepare Seaboard pinmux code for derived boards
        arm/tegra: pinmux: ioremap registers
        gpio/tegra: Convert to a platform device
        arm/tegra: Convert pinmux driver to a platform device
        arm/dt: Tegra: Add pinmux node to tegra20.dtsi
        arm/tegra: Prep boards for gpio/pinmux conversion to pdevs
        ARM: mx5: fix clock usage for suspend
        ARM i.MX entry-macro.S: remove now unused code
        ARM i.MX boards: use CONFIG_MULTI_IRQ_HANDLER
        ARM i.MX tzic: add handle_irq function
        ARM i.MX avic: add handle_irq function
        ARM: mx25: Add the missing IIM base definition
        ARM i.MX avic: convert to use generic irq chip
        mx31moboard: Add poweroff support
        ARM: mach-qong: Add watchdog support
        ARM: davinci: AM18x: Add wl1271/wlan support
        ...
      
      Fix up conflicts in:
      	arch/arm/mach-at91/at91sam9g45.c
      	arch/arm/mach-mx5/devices-imx53.h
      	arch/arm/plat-mxc/include/mach/memory.h
      16ee792e
    • Linus Torvalds's avatar
      Merge branch 'next/board' of git://git.linaro.org/people/arnd/arm-soc · f906fb1d
      Linus Torvalds authored
      * 'next/board' of git://git.linaro.org/people/arnd/arm-soc: (34 commits)
        ep93xx: add support Vision EP9307 SoM
        ARM: mxs: Add initial support for DENX MX28
        ARM: EXYNOS4: Add support SMDK4412 Board
        ARM: EXYNOS4: Add MCT support for EXYNOS4412
        ARM: EXYNOS4: Add functions for gic interrupt handling
        ARM: EXYNOS4: Add support clock for EXYNOS4412
        ARM: EXYNOS4: Add support new EXYNOS4412 SoC
        ARM: EXYNOS4: Add support MCT PPI for EXYNOS4212
        ARM: EXYNOS4: Add support PPI in external GIC
        ARM: EXYNOS4: convert boot_params to atag_offset
        ixp4xx: support omicron ixp425 based boards
        ARM: EXYNOS4: Add support SMDK4212 Board
        ARM: EXYNOS4: Add support PM for EXYNOS4212
        ARM: EXYNOS4: Add support clock for EXYNOS4212
        ARM: EXYNOS4: Add support new EXYNOS4212 SoC
        at91: USB-A9G20 C01 & C11 board support
        at91: merge board USB-A9260 and USB-A9263 together
        at91: add support for RSIs EWS board
        ARM: SAMSUNG: Fix mask value for S5P64X0 CPU IDs
        ARM: SAMSUNG: Fix mask for S3C64xx CPU IDs
        ...
      f906fb1d
    • Linus Torvalds's avatar
      Merge branch 'next/deletion' of git://git.linaro.org/people/arnd/arm-soc · 510597e2
      Linus Torvalds authored
      * 'next/deletion' of git://git.linaro.org/people/arnd/arm-soc:
        ARM: mach-nuc93x: delete
      
      Fix up trivial delete/edit conflicts in
      	arch/arm/mach-nuc93x/{Makefile.boot,mach-nuc932evb.c,time.c}
      510597e2
    • Linus Torvalds's avatar
      Merge branch 'next/pm' of git://git.linaro.org/people/arnd/arm-soc · cd9a0b6b
      Linus Torvalds authored
      * 'next/pm' of git://git.linaro.org/people/arnd/arm-soc: (66 commits)
        ARM: CSR: PM: use outer_resume to resume L2 cache
        ARM: CSR: call l2x0_of_init to init L2 cache of SiRFprimaII
        ARM: OMAP: voltage: voltage layer present, even when CONFIG_PM=n
        ARM: CSR: PM: add sleep entry for SiRFprimaII
        ARM: CSR: PM: save/restore irq status in suspend cycle
        ARM: CSR: PM: save/restore timer status in suspend cycle
        OMAP4: PM: TWL6030: add cmd register
        OMAP4: PM: TWL6030: fix ON/RET/OFF voltages
        OMAP4: PM: TWL6030: address 0V conversions
        OMAP4: PM: TWL6030: fix uv to voltage for >0x39
        OMAP4: PM: TWL6030: fix voltage conversion formula
        omap: voltage: add a stub header file for external/regulator use
        OMAP2+: VC: more registers are per-channel starting with OMAP5
        OMAP3+: voltage: update nominal voltage in voltdm_scale() not VC post-scale
        OMAP3+: voltage: rename omap_voltage_get_nom_volt -> voltdm_get_voltage
        OMAP3+: voltdm: final removal of omap_vdd_info
        OMAP3+: voltage: move/rename curr_volt from vdd_info into struct voltagedomain
        OMAP3+: voltage: rename scale and reset functions using voltdm_ prefix
        OMAP3+: VP: combine setting init voltage into common function
        OMAP3+: VP: remove unused omap_vp_get_curr_volt()
        ...
      
      Fix up trivial conflict in arch/arm/mach-prima2/l2x0.c (code removal vs
      edit)
      cd9a0b6b
    • Linus Torvalds's avatar
      Merge branch 'next/timer' of git://git.linaro.org/people/arnd/arm-soc · ac5761a6
      Linus Torvalds authored
      * 'next/timer' of git://git.linaro.org/people/arnd/arm-soc:
        clocksource: fixup ux500 build problems
        ARM: omap: use __devexit_p in dmtimer driver
        ARM: ux500: Reprogram timers upon resume
        ARM: plat-nomadik: timer: Export reset functions
        ARM: plat-nomadik: timer: Add support for periodic timers
        ARM: ux500: Move timer code to separate file
        ARM: ux500: add support for clocksource DBX500 PRCMU
        clocksource: add DBX500 PRCMU Timer support
        ARM: plat-nomadik: MTU sched_clock as an option
        ARM: OMAP: dmtimer: add error handling to export APIs
        ARM: OMAP: dmtimer: low-power mode support
        ARM: OMAP: dmtimer: skip reserved timers
        ARM: OMAP: dmtimer: pm_runtime support
        ARM: OMAP: dmtimer: switch-over to platform device driver
        ARM: OMAP: dmtimer: platform driver
        ARM: OMAP2+: dmtimer: convert to platform devices
        ARM: OMAP1: dmtimer: conversion to platform devices
        ARM: OMAP2+: dmtimer: add device names to flck nodes
        ARM: OMAP: Add support for dmtimer v2 ip
      ac5761a6
    • Linus Torvalds's avatar
      Merge branch 'next/driver' of git://git.linaro.org/people/arnd/arm-soc · 25498e5b
      Linus Torvalds authored
      * 'next/driver' of git://git.linaro.org/people/arnd/arm-soc:
        hw_random: add driver for atmel true hardware random number generator
        ARM: at91: at91sam9g45: add trng clock and platform device
        MX53 Enable the AHCI SATA on MX53 SMD board
        MX53 Enable the AHCI SATA on MX53 LOCO board
        MX53 Enable the AHCI SATA on MX53 ARD board
        AHCI Add the AHCI SATA feature on the MX53 platforms
        Fix pata imx resource
        ARM: imx: Define functions for registering PATA
        ARM: imx: Add PATA clock support
        ARM: imx: Add PATA resources for other i.MX processors
        imx: efika: Enable pata.
        imx51: add pata clock
        imx51: add pata device
      
      Fix up trivial conflict (new selects next to each other from separate
      branches for EFIKA_COMMON) in arch/arm/mach-mx5/Kconfig
      25498e5b
    • Linus Torvalds's avatar
      Merge branch 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc · 95241450
      Linus Torvalds authored
      * 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc: (125 commits)
        ARM: mach-mxs: fix machines' initializers order
        mmc: mxcmmc: explicitly includes mach/hardware.h
        arm/imx: explicitly includes mach/hardware.h in pm-imx27.c
        arm/imx: remove mx27_setup_weimcs() from mx27.h
        arm/imx: explicitly includes mach/hardware.h in mach-kzm_arm11_01.c
        arm/imx: remove mx31_setup_weimcs() from mx31.h
        ARM: tegra: devices.c should include devices.h
        ARM: tegra: cpu-tegra: unexport two functions
        ARM: tegra: cpu-tegra: sparse type fix
        ARM: tegra: dma: staticify some tables and functions
        ARM: tegra: tegra2_clocks: don't export some tables
        ARM: tegra: tegra_powergate_is_powered should be static
        ARM: tegra: tegra_rtc_read_ms should be static
        ARM: tegra: tegra_init_cache should be static
        ARM: tegra: pcie: 0 -> NULL changes
        ARM: tegra: pcie: include board.h
        ARM: tegra: pcie: don't cast __iomem pointers
        ARM: tegra: tegra2_clocks: 0 -> NULL changes
        ARM: tegra: tegra2_clocks: don't cast __iomem pointers
        ARM: tegra: timer: don't cast __iomem pointers
        ...
      
      Fix up trivial conflicts in
        arch/arm/mach-omap2/Makefile,
        arch/arm/mach-u300/{Makefile.boot,core.c}
        arch/arm/plat-{mxc,omap}/devices.c
      95241450
    • Linus Torvalds's avatar
      Merge branch 'next/fixes' of git://git.linaro.org/people/arnd/arm-soc · 68e24ba7
      Linus Torvalds authored
      * 'next/fixes' of git://git.linaro.org/people/arnd/arm-soc: (28 commits)
        ARM: pxa/cm-x300: properly set bt_reset pin
        ARM: mmp: rename SHEEVAD to GPLUGD
        ARM: imx: Fix typo 'MACH_MX31_3DS_MXC_NAND_USE_BBT'
        ARM: i.MX28: shift frac value in _CLK_SET_RATE
        plat-mxc: iomux-v3.h: implicitly enable pull-up/down when that's desired
        ARM: mx5: fix clock usage for suspend
        ARM: pxa: use correct __iomem annotations
        ARM: pxa: sharpsl pm needs SPI
        ARM: pxa: centro and treo680 need palm27x
        ARM: pxa: make pxafb_smart_*() empty when not enabled
        ARM: pxa: select POWER_SUPPLY on raumfeld
        ARM: pxa: pxa95x is incompatible with earlier pxa
        ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ
        ARM: pxa: pxa95x/saarb depends on pxa3xx code
        ARM: pxa: allow selecting just one of TREO680/CENTRO
        ARM: pxa: export symbols from pxa3xx-ulpi
        ARM: pxa: make zylonite_pxa*_init declaration match code
        ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available
        ARM: at91: add defconfig for at91sam9g45 family
        ARM: at91: remove dependency for Atmel PWM driver selector in Kconfig
        ...
      68e24ba7
    • Arnd Bergmann's avatar
      Merge branch 'imx/imx6q' into next/soc · abc3f126
      Arnd Bergmann authored
      Conflicts:
      	Documentation/devicetree/bindings/arm/fsl.txt
      	arch/arm/Kconfig
      	arch/arm/Kconfig.debug
      	arch/arm/plat-mxc/include/mach/common.h
      abc3f126
    • Arnd Bergmann's avatar
      Merge branch 'picoxcell/soc' into next/soc · b8df0ea2
      Arnd Bergmann authored
      b8df0ea2
    • Arnd Bergmann's avatar
      Merge branch 'highbank/soc' into next/soc · 884897e6
      Arnd Bergmann authored
      Conflicts:
      	arch/arm/mach-mxs/include/mach/gpio.h
      	arch/arm/mach-omap2/board-generic.c
      	arch/arm/plat-mxc/include/mach/gpio.h
      884897e6
    • Linus Torvalds's avatar
      Merge branch 'for-linus/i2c-3.2' of git://git.fluff.org/bjdooks/linux · b4beb4bf
      Linus Torvalds authored
      * 'for-linus/i2c-3.2' of git://git.fluff.org/bjdooks/linux: (47 commits)
        i2c-s3c2410: Add device tree support
        i2c-s3c2410: Keep a copy of platform data and use it
        i2c-nomadik: cosmetic coding style corrections
        i2c-au1550: dev_pm_ops conversion
        i2c-au1550: increase timeout waiting for master done
        i2c-au1550: remove unused ack_timeout
        i2c-au1550: remove usage of volatile keyword
        i2c-tegra: __iomem annotation fix
        i2c-eg20t: Add initialize processing in case i2c-error occurs
        i2c-eg20t: Fix flag setting issue
        i2c-eg20t: add stop sequence in case wait-event timeout occurs
        i2c-eg20t: Separate error processing
        i2c-eg20t: Fix 10bit access issue
        i2c-eg20t: Modify returned value s32 to long
        i2c-eg20t: Fix bus-idle waiting issue
        i2c-designware: Fix PCI core warning on suspend/resume
        i2c-designware: Add runtime power management support
        i2c-designware: Add support for Designware core behind PCI devices.
        i2c-designware: Push all register reads/writes into the core code.
        i2c-designware: Support multiple cores using same ISR
        ...
      b4beb4bf
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://opensource.wolfsonmicro.com/regulator · f3c3f067
      Linus Torvalds authored
      * 'for-linus' of git://opensource.wolfsonmicro.com/regulator: (22 commits)
        regulator: Constify constraints name
        regulator: Fix possible nullpointer dereference in regulator_enable()
        regulator: gpio-regulator add dependency on GENERIC_GPIO
        regulator: Add module.h include to gpio-regulator
        regulator: Add driver for gpio-controlled regulators
        regulator: remove duplicate REG_CTRL2 defines in tps65023
        regulator: Clarify documentation for regulator-regulator supplies
        regulator: Fix some bitrot in the machine driver documentation
        regulator: tps65023: Added support for the similiar TPS65020 chip
        regulator: tps65023: Setting correct core regulator for tps65021
        regulator: tps65023: Set missing bit for update core-voltage
        regulator: tps65023: Fixes i2c configuration issues
        regulator: Add debugfs file showing the supply map table
        regulator: tps6586x: add SMx slew rate setting
        regulator: tps65023: Fixes i2c configuration issues
        regulator: tps6507x: Remove num_voltages array
        regulator: max8952: removed unused mutex.
        regulator: fix regulator/consumer.h kernel-doc warning
        regulator: Ensure enough enable time for max8649
        regulator: 88pm8607: Fix off-by-one value range checking in the case of no id is matched
        ...
      f3c3f067
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · c18ae42a
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: ohci: fix isochronous DMA synchronization
        firewire: ohci: work around selfID junk due to wrong gap count
        firewire: net: Use posted writes
        firewire: use clamp and min3 macros
        firewire: ohci: optimize TSB41BA3D detection
        firewire: ohci: TSB41BA3D support tweaks
        firewire: ohci: Add support for TSB41BA3D phy
        firewire: ohci: Move code from the bus reset tasklet into a workqueue
        firewire: sbp2: fold two functions into one
        firewire: sbp2: move some code to more sensible places
        firewire: sbp2: remove obsolete reference counting
      c18ae42a
    • Linus Torvalds's avatar
      Merge branch 'pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 1c398651
      Linus Torvalds authored
      * 'pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        pstore: make pstore write function return normal success/fail value
        pstore: change mutex locking to spin_locks
        pstore: defer inserting OOPS entries into pstore
      1c398651
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · f470f8d4
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (62 commits)
        mlx4_core: Deprecate log_num_vlan module param
        IB/mlx4: Don't set VLAN in IBoE WQEs' control segment
        IB/mlx4: Enable 4K mtu for IBoE
        RDMA/cxgb4: Mark QP in error before disabling the queue in firmware
        RDMA/cxgb4: Serialize calls to CQ's comp_handler
        RDMA/cxgb3: Serialize calls to CQ's comp_handler
        IB/qib: Fix issue with link states and QSFP cables
        IB/mlx4: Configure extended active speeds
        mlx4_core: Add extended port capabilities support
        IB/qib: Hold links until tuning data is available
        IB/qib: Clean up checkpatch issue
        IB/qib: Remove s_lock around header validation
        IB/qib: Precompute timeout jiffies to optimize latency
        IB/qib: Use RCU for qpn lookup
        IB/qib: Eliminate divide/mod in converting idx to egr buf pointer
        IB/qib: Decode path MTU optimization
        IB/qib: Optimize RC/UC code by IB operation
        IPoIB: Use the right function to do DMA unmap pages
        RDMA/cxgb4: Use correct QID in insert_recv_cqe()
        RDMA/cxgb4: Make sure flush CQ entries are collected on connection close
        ...
      f470f8d4
    • Roland Dreier's avatar
      Merge branches 'amso1100', 'cma', 'cxgb3', 'cxgb4', 'fdr', 'ipath', 'ipoib',... · 504255f8
      Roland Dreier authored
      Merge branches 'amso1100', 'cma', 'cxgb3', 'cxgb4', 'fdr', 'ipath', 'ipoib', 'misc', 'mlx4', 'misc', 'nes', 'qib' and 'xrc' into for-next
      504255f8
    • Linus Torvalds's avatar
      Merge git://github.com/herbertx/crypto · dc47d381
      Linus Torvalds authored
      * git://github.com/herbertx/crypto: (48 commits)
        crypto: user - Depend on NET instead of selecting it
        crypto: user - Add dependency on NET
        crypto: talitos - handle descriptor not found in error path
        crypto: user - Initialise match in crypto_alg_match
        crypto: testmgr - add twofish tests
        crypto: testmgr - add blowfish test-vectors
        crypto: Make hifn_795x build depend on !ARCH_DMA_ADDR_T_64BIT
        crypto: twofish-x86_64-3way - fix ctr blocksize to 1
        crypto: blowfish-x86_64 - fix ctr blocksize to 1
        crypto: whirlpool - count rounds from 0
        crypto: Add userspace report for compress type algorithms
        crypto: Add userspace report for cipher type algorithms
        crypto: Add userspace report for rng type algorithms
        crypto: Add userspace report for pcompress type algorithms
        crypto: Add userspace report for nivaead type algorithms
        crypto: Add userspace report for aead type algorithms
        crypto: Add userspace report for givcipher type algorithms
        crypto: Add userspace report for ablkcipher type algorithms
        crypto: Add userspace report for blkcipher type algorithms
        crypto: Add userspace report for ahash type algorithms
        ...
      dc47d381
    • Eric W. Biederman's avatar
      sysfs: Make sysfs_rename safe with sysfs_dirents in rbtrees. · f6d90b4f
      Eric W. Biederman authored
      
      
      In sysfs_rename we need to remove the optimization of not calling
      sysfs_unlink_sibling and sysfs_link_sibling if the renamed parent
      directory is not changing.  This optimization is no longer valid now
      that sysfs dirents are stored in an rbtree sorted by name.
      
      Move the assignment of s_ns before the call of sysfs_link_sibling.  With
      no sysfs_dirent fields changing after the call of sysfs_link_sibling
      this allows sysfs_link_sibling to take any of the directory entries into
      account when it builds the rbtrees, and s_ns looks like a prime canidate
      to be used in the rbtree in the future.
      
      Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      Cc: Jiri Slaby <jirislaby@gmail.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: David Miller <davem@davemloft.net>
      Cc: Mikulas Patocka <mpatocka@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f6d90b4f
    • Arnd Bergmann's avatar
      Merge branch 'imx/devel' into next/dt · c72dbae9
      Arnd Bergmann authored
      
      
      The board changes in the imx/devel branch conflict with other changes in
      the device imx/dt branch.
      
      Conflicts:
      	arch/arm/mach-mx5/board-mx53_loco.c
      	arch/arm/mach-mx5/board-mx53_smd.c
      	arch/arm/plat-mxc/include/mach/common.h
      	arch/arm/plat-mxc/include/mach/memory.h
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      c72dbae9
  3. Nov 01, 2011