1. 11 1月, 2012 3 次提交
    • K
      vmscan: activate executable pages after first usage · c909e993
      Konstantin Khlebnikov 提交于
      Logic added in commit 8cab4754 ("vmscan: make mapped executable pages
      the first class citizen") was noticeably weakened in commit
      64574746 ("vmscan: detect mapped file pages used only once").
      
      Currently these pages can become "first class citizens" only after second
      usage.  After this patch page_check_references() will activate they after
      first usage, and executable code gets yet better chance to stay in memory.
      Signed-off-by: NKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Minchan Kim <minchan.kim@gmail.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Wu Fengguang <fengguang.wu@intel.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Cc: Shaohua Li <shaohua.li@intel.com>
      Cc: Rik van Riel <riel@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c909e993
    • K
      vmscan: promote shared file mapped pages · 34dbc67a
      Konstantin Khlebnikov 提交于
      Commit 64574746 ("vmscan: detect mapped file pages used only once")
      greatly decreases lifetime of single-used mapped file pages.
      Unfortunately it also decreases life time of all shared mapped file
      pages.  Because after commit bf3f3bc5 ("mm: don't mark_page_accessed
      in fault path") page-fault handler does not mark page active or even
      referenced.
      
      Thus page_check_references() activates file page only if it was used twice
      while it stays in inactive list, meanwhile it activates anon pages after
      first access.  Inactive list can be small enough, this way reclaimer can
      accidentally throw away any widely used page if it wasn't used twice in
      short period.
      
      After this patch page_check_references() also activate file mapped page at
      first inactive list scan if this page is already used multiple times via
      several ptes.
      
      I found this while trying to fix degragation in rhel6 (~2.6.32) from rhel5
      (~2.6.18).  There a complete mess with >100 web/mail/spam/ftp containers,
      they share all their files but there a lot of anonymous pages: ~500mb
      shared file mapped memory and 15-20Gb non-shared anonymous memory.  In
      this situation major-pagefaults are very costly, because all containers
      share the same page.  In my load kernel created a disproportionate
      pressure on the file memory, compared with the anonymous, they equaled
      only if I raise swappiness up to 150 =)
      
      These patches actually wasn't helped a lot in my problem, but I saw
      noticable (10-20 times) reduce in count and average time of
      major-pagefault in file-mapped areas.
      
      Actually both patches are fixes for commit v2.6.33-5448-g64574746, because
      it was aimed at one scenario (singly used pages), but it breaks the logic
      in other scenarios (shared and/or executable pages)
      Signed-off-by: NKonstantin Khlebnikov <khlebnikov@openvz.org>
      Acked-by: NPekka Enberg <penberg@kernel.org>
      Acked-by: NMinchan Kim <minchan.kim@gmail.com>
      Reviewed-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Wu Fengguang <fengguang.wu@intel.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Cc: Shaohua Li <shaohua.li@intel.com>
      Cc: Rik van Riel <riel@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      34dbc67a
    • J
      mm/page-writeback.c: make determine_dirtyable_memory static again · 1edf2234
      Johannes Weiner 提交于
      The tracing ring-buffer used this function briefly, but not anymore.
      Make it local to the writeback code again.
      
      Also, move the function so that no forward declaration needs to be
      reintroduced.
      Signed-off-by: NJohannes Weiner <hannes@cmpxchg.org>
      Acked-by: NMel Gorman <mgorman@suse.de>
      Reviewed-by: NMichal Hocko <mhocko@suse.cz>
      Cc: Wu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1edf2234
  2. 10 1月, 2012 37 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e4e11180
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: new helper - d_make_root()
        dcache: use a dispose list in select_parent
        ceph: d_alloc_root() may fail
        ext4: fix failure exits
        isofs: inode leak on mount failure
      e4e11180
    • A
      vfs: new helper - d_make_root() · adc0e91a
      Al Viro 提交于
      d_alloc_root() with iput() in case of allocation failure...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      adc0e91a
    • D
      dcache: use a dispose list in select_parent · b48f03b3
      Dave Chinner 提交于
      select_parent currently abuses the dentry cache LRU to provide
      cleanup features for child dentries that need to be freed. It moves
      them to the tail of the LRU, then tells shrink_dcache_parent() to
      calls __shrink_dcache_sb to unconditionally move them to a dispose
      list (as DCACHE_REFERENCED is ignored). __shrink_dcache_sb() has to
      relock the dentries to move them off the LRU onto the dispose list,
      but otherwise does not touch the dentries that select_parent() moved
      to the tail of the LRU. It then passses the dispose list to
      shrink_dentry_list() which tries to free the dentries.
      
      IOWs, the use of __shrink_dcache_sb() is superfluous - we can build
      exactly the same list of dentries for disposal directly in
      select_parent() and call shrink_dentry_list() instead of calling
      __shrink_dcache_sb() to do that. This means that we avoid long holds
      on the lru lock walking the LRU moving dentries to the dispose list
      We also avoid the need to relock each dentry just to move it off the
      LRU, reducing the numebr of times we lock each dentry to dispose of
      them in shrink_dcache_parent() from 3 to 2 times.
      
      Further, we remove one of the two callers of __shrink_dcache_sb().
      This also means that __shrink_dcache_sb can be moved into back into
      prune_dcache_sb() and we no longer have to handle referenced
      dentries conditionally, simplifying the code.
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      b48f03b3
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · 37cfc3f6
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next:
        sparc32: remove unused file: include/asm/pgtsun4.h
        sparc32: fix PAGE_SIZE definition
        sparc32: enable different preemptions models
        sparc32: support atomic64_t
        apbuart: fix section mismatch warning
        sparc32: drop useless preprocessor conditional in atomic_32.h
        sparc32: drop unused atomic24 support
      37cfc3f6
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 38e5781b
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        igmp: Avoid zero delay when receiving odd mixture of IGMP queries
        netdev: make net_device_ops const
        bcm63xx: make ethtool_ops const
        usbnet: make ethtool_ops const
        net: Fix build with INET disabled.
        net: introduce netif_addr_lock_nested() and call if when appropriate
        net: correct lock name in dev_[uc/mc]_sync documentations.
        net: sk_update_clone is only used in net/core/sock.c
        8139cp: fix missing napi_gro_flush.
        pktgen: set correct max and min in pktgen_setup_inject()
        smsc911x: Unconditionally include linux/smscphy.h in smsc911x.h
        asix: fix infinite loop in rx_fixup()
        net: Default UDP and UNIX diag to 'n'.
        r6040: fix typo in use of MCR0 register bits
        net: fix sock_clone reference mismatch with tcp memcontrol
      38e5781b
    • L
      Merge tag 'clk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 979ecef5
      Linus Torvalds 提交于
      clock management changes for i.MX
      
      Another simple series related to clock management, this time only for
      imx.
      
      * tag 'clk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: mxs: select HAVE_CLK_PREPARE for clock
        clk: add config option HAVE_CLK_PREPARE into Kconfig
        ASoC: mxs-saif: convert to clk_prepare/clk_unprepare
        video: mxsfb: convert to clk_prepare/clk_unprepare
        serial: mxs-auart: convert to clk_prepare/clk_unprepare
        net: flexcan: convert to clk_prepare/clk_unprepare
        mtd: gpmi-lib: convert to clk_prepare/clk_unprepare
        mmc: mxs-mmc: convert to clk_prepare/clk_unprepare
        dma: mxs-dma: convert to clk_prepare/clk_unprepare
        net: fec: add clk_prepare/clk_unprepare
        ARM: mxs: convert platform code to clk_prepare/clk_unprepare
        clk: add helper functions clk_prepare_enable and clk_disable_unprepare
      
      Fix up trivial conflicts in drivers/net/ethernet/freescale/fec.c due to
      commit 0ebafefc ("net: fec: add clk_prepare/clk_unprepare") clashing
      trivially with commit e163cc97 ("net/fec: fix the .remove code").
      979ecef5
    • L
      Merge tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · e8cbce97
      Linus Torvalds 提交于
      timer changes for msm
      
      A very simple series. We used to have more churn in the timer
      area, so this is kept separate. Will probably put this into the
      drivers series next time.
      
      * tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        msm: timer: Use clockevents_config_and_register()
        msm: timer: Setup interrupt after registering clockevent
        msm: timer: Remove SoC specific #ifdefs
        msm: timer: Remove msm_clocks[] and simplify code
        msm: timer: Fix ONESHOT mode interrupts
        msm: timer: Use GPT for clockevents and DGT for clocksource
        msm: timer: Cleanup #includes and #defines
        msm: timer: Tighten #ifdef for local timer support
      e8cbce97
    • L
      Merge tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b3c37522
      Linus Torvalds 提交于
      power management changes for omap and imx
      
      A significant part of the changes for these two platforms went into
      power management, so they are split out into a separate branch.
      
      * tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (65 commits)
        ARM: imx6: remove __CPUINIT annotation from v7_invalidate_l1
        ARM: imx6: fix v7_invalidate_l1 by adding I-Cache invalidation
        ARM: imx6q: resume PL310 only when CACHE_L2X0 defined
        ARM: imx6q: build pm code only when CONFIG_PM selected
        ARM: mx5: use generic irq chip pm interface for pm functions on
        ARM: omap: pass minimal SoC/board data for UART from dt
        arm/dts: Add minimal device tree support for omap2420 and omap2430
        omap-serial: Add minimal device tree support
        omap-serial: Use default clock speed (48Mhz) if not specified
        omap-serial: Get rid of all pdev->id usage
        ARM: OMAP2+: hwmod: Add a new flag to handle hwmods left enabled at init
        ARM: OMAP4: PRM: use PRCM interrupt handler
        ARM: OMAP3: pm: use prcm chain handler
        ARM: OMAP: hwmod: add support for selecting mpu_irq for each wakeup pad
        ARM: OMAP2+: mux: add support for PAD wakeup interrupts
        ARM: OMAP: PRCM: add suspend prepare / finish support
        ARM: OMAP: PRCM: add support for chain interrupt handler
        ARM: OMAP3/4: PRM: add functions to read pending IRQs, PRM barrier
        ARM: OMAP2+: hwmod: Add API to enable IO ring wakeup
        ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list
        ...
      b3c37522
    • L
      Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2ac9d7aa
      Linus Torvalds 提交于
      Driver specific changes
      
      Again, a lot of platforms have changes in here: pxa, samsung, omap,
      at91, imx, ...
      
      * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
        ARM: sa1100: clean up of the clock support
        ARM: pxa: add dummy clock for sa1100-rtc
        RTC: sa1100: support sa1100, pxa and mmp soc families
        RTC: sa1100: remove redundant code of setting alarm
        RTC: sa1100: Clean out ost register
        Input: zylonite-wm97xx - replace IRQ_GPIO() with gpio_to_irq()
        pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
        ARM: EXYNOS: Modified files for SPI consolidation work
        ARM: S5P64X0: Enable SDHCI support
        ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
        ARM: S5P64X0: Add HSMMC setup for host Controller
        ARM: EXYNOS: Add USB OHCI support to ORIGEN board
        USB: Add Samsung Exynos OHCI diver
        ARM: EXYNOS: Add USB OHCI support to SMDKV310 board
        ARM: EXYNOS: Add USB OHCI device
        net: macb: fix build break with !CONFIG_OF
        i2c: tegra: Support DVC controller in device tree
        i2c: tegra: Add __devinit/exit to probe/remove
        net/at91_ether: use gpio_is_valid for phy IRQ line
        ARM: at91/net: add macb ethernet controller in 9g45/9g20 DT
        ...
      2ac9d7aa
    • L
      Merge tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 5ede3ceb
      Linus Torvalds 提交于
      New feature development
      
      This adds support for new features, and contains stuff from most
      platforms. A number of these patches could have fit into other
      branches, too, but were small enough not to cause too much
      confusion here.
      
      * tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
        mfd/db8500-prcmu: remove support for early silicon revisions
        ARM: ux500: fix the smp_twd clock calculation
        ARM: ux500: remove support for early silicon revisions
        ARM: ux500: update register files
        ARM: ux500: register DB5500 PMU dynamically
        ARM: ux500: update ASIC detection for U5500
        ARM: ux500: support DB8520
        ARM: picoxcell: implement watchdog restart
        ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C
        ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1
        ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4
        ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3
        ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3
        ARM: Orion: Remove address map info from all platform data structures
        ARM: Orion: Get address map from plat-orion instead of via platform_data
        ARM: Orion: mbus_dram_info consolidation
        ARM: Orion: Consolidate the address map setup
        ARM: Kirkwood: Add configuration for MPP12 as GPIO
        ARM: Kirkwood: Recognize A1 revision of 6282 chip
        ARM: ux500: update the MOP500 GPIO assignments
        ...
      5ede3ceb
    • L
      Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6d889d03
      Linus Torvalds 提交于
      Board-level changes
      
      This adds and extends support for specific boards on a number of
      ARM platforms:  omap, imx, samsung, tegra, ...
      
      * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (49 commits)
        Enable 32 bit flash support for iMX21ADS board
        ARM: mx31pdk: Add MC13783 RTC support
        iomux-mx25: configuration to support CSPI3 on CSI pins
        MX1:apf9328: Add i2c support
        mioa701: add newly available DoC G3 chip
        arm/tegra: remove __initdata annotation from pinmux tables
        arm/tegra: Use bus notifiers to trigger pinmux setup
        arm/tegra: Refactor board-*-pinmux.c to share code
        arm/tegra: Fix mistake in Trimslice's pinmux
        arm/tegra: Rework Seaboard-vs-Ventana pinmux table
        arm/tegra: Remove useless entries from ventana_pinmux[]
        arm/tegra: PCIe: Remove include of mach/pinmux.h
        arm/tegra: Harmony PCIe: Don't touch pinmux
        arm/tegra: Add AUXDATA for tegra-pinmux and tegra-gpio
        arm/tegra: Split Seaboard GPIO table to allow for Ventana
        ARM: imx6q: generate imx6q dtb files
        arm/imx6q: Rename Sabreauto to Armadillo2
        arm/imx6q-sabrelite: add enet phy ksz9021rn fixup
        arm/imx6: add imx6q sabrelite board support
        dts/imx: rename uart labels to consistent with hw spec
        ...
      6d889d03
    • L
      Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 7400c12e
      Linus Torvalds 提交于
      SoC-level changes for tegra and omap
      
      This adds support for the new tegra30 SoC, as well as small
      changes to support minor variations of existing omap SoCs.
      
      * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (26 commits)
        arm/tegra: Compile tegra_dt_init_irq only when CONFIG_OF
        arm/tegra: Make MACH_TEGRA_DT depend on ARCH_TEGRA_2x_SOC
        arm/tegra: Delete tegra_init_clock()
        arm/tegra: Fix section mismatch errors in tegra30 pinmux
        arm/tegra: Fix section mismatch errors in tegra20 pinmux
        arm/tegra: refresh defconfig for tegra30
        arm/tegra: add support for tegra30 based board cardhu
        arm/tegra: implement support for tegra30
        arm/tegra: pinmux tables and definitions for tegra30
        arm/tegra: add new fields to struct tegra_pingroup_desc
        arm/tegra: prepare pinmux code for multiple tegra variants
        arm/tegra: rename tegra20 pinmux files
        arm/tegra: generalize L2 cache initialization
        arm/tegra: use PMC reset
        arm/tegra: rename board-dt.c to board-dt-tegra20.c
        arm/tegra: prepare early init for multiple tegra variants
        arm/tegra: don't export clk_measure_input_freq
        arm/tegra: prepare clock code for multiple tegra variants
        arm/tegra: cleanup tegra20 support
        arm/tegra: clk_get should not be fatal
        ...
      
      Fix up trivial conflict in arch/arm/mach-tegra/board-dt-tegra20.c
      7400c12e
    • L
      Merge tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 190a44e6
      Linus Torvalds 提交于
      Cleanups for the Samsung platforms
      
      Various cleanup changes that the device driver changes are built upon.
      Since the samsung cleanups depend on the device tree series, which
      depends on the first set of cleanups for tegra.
      
      * tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: EXYNOS: Use gpio_request_one
        ARM: S5PV210: Use gpio_request_one
        ARM: S3C64XX: Modified according to SPI consolidation work
        ARM: S5PV210: Modified files for SPI consolidation work
        ARM: S5P64X0: Modified files for SPI consolidation work
        ARM: S5PC100: Modified files for SPI consolidation work
        ARM: S3C64XX: Modified files for SPI consolidation work
        ARM: SAMSUNG: Consolidation of SPI platform devices to plat-samsung
        ARM: SAMSUNG: Remove SPI bus clocks from platform data
        ARM: S5PV210: Add SPI clkdev support
        ARM: S5P64X0: Add SPI clkdev support
        ARM: S5PC100: Add SPI clkdev support
        ARM: S3C64XX: Add SPI clkdev support
        spi/s3c64xx: Use bus clocks created using clkdev
        mmc: sdhci-s3c: Use generic clock names for sdhci bus clock options
        ARM: SAMSUNG: Add lookup of sdhci-s3c clocks using generic names
        ARM: SAMSUNG: Remove SDHCI bus clocks from platform data
        ARM: SAMSUNG: Use kmemdup rather than duplicating its implementation
        ARM: EXYNOS: remove exynos4_scu_enable()
      190a44e6
    • L
      Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · dfc1ebe7
      Linus Torvalds 提交于
      Device tree conversions for samsung and tegra
      
      Both platforms had some initial device tree support, but this adds
      much more to actually make it usable.
      
      * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
        ARM: dts: Add intial dts file for EXYNOS4210 SoC, SMDKV310 and ORIGEN
        ARM: EXYNOS: Add Exynos4 device tree enabled board file
        rtc: rtc-s3c: Add device tree support
        input: samsung-keypad: Add device tree support
        ARM: S5PV210: Modify platform data for pl330 driver
        ARM: S5PC100: Modify platform data for pl330 driver
        ARM: S5P64x0: Modify platform data for pl330 driver
        ARM: EXYNOS: Add a alias for pdma clocks
        ARM: EXYNOS: Limit usage of pl330 device instance to non-dt build
        ARM: SAMSUNG: Add device tree support for pl330 dma engine wrappers
        DMA: PL330: Add device tree support
        ARM: EXYNOS: Modify platform data for pl330 driver
        DMA: PL330: Infer transfer direction from transfer request instead of platform data
        DMA: PL330: move filter function into driver
        serial: samsung: Fix build for non-Exynos4210 devices
        serial: samsung: add device tree support
        serial: samsung: merge probe() function from all SoC specific extensions
        serial: samsung: merge all SoC specific port reset functions
        ARM: SAMSUNG: register uart clocks to clock lookup list
        serial: samsung: remove all uses of get_clksrc and set_clksrc
        ...
      
      Fix up fairly trivial conflicts in arch/arm/mach-s3c2440/clock.c and
      drivers/tty/serial/Kconfig both due to just adding code close to
      changes.
      dfc1ebe7
    • L
      Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · acc952c1
      Linus Torvalds 提交于
      Cleanups on various subarchitectures
      
      Cleanup patches for various ARM platforms and some of their associated
      drivers, the bulk of these is for mach-91.
      
      Arnd ended up pulling in the restart branch from Russell in order to
      fix up some simple but annoying merge conflicts.
      
      * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
        arm/at91: fix build of stamp9g20
        ARM: u300: delete memory.h
        MAINTAINERS: add maintainer entry for Picochip picoxcell
        ARM: picoxcell: move io mappings to common.c
        ARM: picoxcell: don't reserve irq_descs
        ARM: picoxcell: remove mach/memory.h
        ARM: at91: delete the pcontrol_g20_defconfig
        arm/tegra: Remove code that's ifndef CONFIG_ARM_GIC
        arm/tegra: remove unused defines
        arm/tegra: fix variable formatting in makefile
        ARM: davinci: vpif: move code to driver core header from platform
        ARM: at91/gpio: fix display of number of irq setuped
        ARM: at91/gpio: drop PIN_BASE
        ARM: at91/udc: use gpio_is_valid to check the gpio
        ARM: at91/ohci: use gpio_is_valid to check the gpio
        ARM: at91/nand: use gpio_is_valid to check the gpio
        ARM: at91/mmc: use gpio_is_valid to check the gpio
        ARM: at91/ide: use gpio_is_valid to check the gpio
        ARM: at91/pata: use gpio_is_valid to check the gpio
        ARM: at91/soc: use gpio_is_valid to check the gpio
        ...
      acc952c1
    • L
      Merge tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 57e964e1
      Linus Torvalds 提交于
      Non-critical bug fixes
      
      Simple bug fixes that were not considered important enough for inclusion
      into 3.2.
      
      * tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        MAINTAINERS: update pxa and mmp
        ARM: pxa: Include linux/export.h in balloon3.c
        ARM: OMAP4: clock: Add CPU local timer clock node
        ARM: OMAP4: hwmod: Don't wait for the idle status if modulemode is not supported
        ARM: OMAP: AM3517/3505: fix crash on boot due to incorrect voltagedomain data
        ARM: OMAP: hwmod data: fix the panic on Nokia RM-680 during boot
        ARM: OMAP2+: DMA: Workaround for invalid destination position
        ARM: OMAP2+: DMA: Workaround for invalid source position
      57e964e1
    • S
      tracing/mm: Move include of trace/events/kmem.h out of header into slab.c · 4dee6b64
      Steven Rostedt 提交于
      Including trace/events/*.h TRACE_EVENT() macro headers in other headers
      can cause strange side effects if another trace/event/*.h header
      includes that header.  Having trace/events/kmem.h inside slab_def.h
      caused a compile error in sparc64 when changes were done to some header
      files.  Moving the kmem.h trace header out of slab.h and into slab.c
      fixes the problem.
      
      Note, both slub.c and slob.c already include the trace/events/kmem.h
      file. Only slab.c had it missing.
      
      Link: http://lkml.kernel.org/r/20120105190405.1e3191fb5a43b2a0f1655e1f@canb.auug.org.auReported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4dee6b64
    • B
      igmp: Avoid zero delay when receiving odd mixture of IGMP queries · a8c1f65c
      Ben Hutchings 提交于
      Commit 5b7c8406 ('ipv4: correct IGMP
      behavior on v3 query during v2-compatibility mode') added yet another
      case for query parsing, which can result in max_delay = 0.  Substitute
      a value of 1, as in the usual v3 case.
      Reported-by: NSimon McVittie <smcv@debian.org>
      References: http://bugs.debian.org/654876Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a8c1f65c
    • S
      netdev: make net_device_ops const · e5686ad8
      stephen hemminger 提交于
      More drivers where net_device_ops should be const.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e5686ad8
    • S
      1aff0cbe
    • S
      usbnet: make ethtool_ops const · bc689c97
      stephen hemminger 提交于
      The ethtool_ops table of function pointers should be const.
      Fix all the usb network drivers.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bc689c97
    • D
      net: Fix build with INET disabled. · 3969eb38
      David S. Miller 提交于
      > net/core/sock.c: In function 'sk_update_clone':
      > net/core/sock.c:1278:3: error: implicit declaration of function 'sock_update_memcg'
      Reported-by: NRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3969eb38
    • A
      ceph: d_alloc_root() may fail · 3c5184ef
      Al Viro 提交于
      ... and ceph_init_dentry(NULL) will oops
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      3c5184ef
    • L
      Merge branch 'for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 6b3da11b
      Linus Torvalds 提交于
      * 'for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: Remove irqsafe_cpu_xxx variants
      
      Fix up conflict in arch/x86/include/asm/percpu.h due to clash with
      cebef5be ("x86: Fix and improve percpu_cmpxchg{8,16}b_double()")
      which edited the (now removed) irqsafe_cpu_cmpxchg*_double code.
      6b3da11b
    • L
      Merge branch 'for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · db0c2bf6
      Linus Torvalds 提交于
      * 'for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (21 commits)
        cgroup: fix to allow mounting a hierarchy by name
        cgroup: move assignement out of condition in cgroup_attach_proc()
        cgroup: Remove task_lock() from cgroup_post_fork()
        cgroup: add sparse annotation to cgroup_iter_start() and cgroup_iter_end()
        cgroup: mark cgroup_rmdir_waitq and cgroup_attach_proc() as static
        cgroup: only need to check oldcgrp==newgrp once
        cgroup: remove redundant get/put of task struct
        cgroup: remove redundant get/put of old css_set from migrate
        cgroup: Remove unnecessary task_lock before fetching css_set on migration
        cgroup: Drop task_lock(parent) on cgroup_fork()
        cgroups: remove redundant get/put of css_set from css_set_check_fetched()
        resource cgroups: remove bogus cast
        cgroup: kill subsys->can_attach_task(), pre_attach() and attach_task()
        cgroup, cpuset: don't use ss->pre_attach()
        cgroup: don't use subsys->can_attach_task() or ->attach_task()
        cgroup: introduce cgroup_taskset and use it in subsys->can_attach(), cancel_attach() and attach()
        cgroup: improve old cgroup handling in cgroup_attach_proc()
        cgroup: always lock threadgroup during migration
        threadgroup: extend threadgroup_lock() to cover exit and exec
        threadgroup: rename signal->threadgroup_fork_lock to ->group_rwsem
        ...
      
      Fix up conflict in kernel/cgroup.c due to commit e0197aae: "cgroups:
      fix a css_set not found bug in cgroup_attach_proc" that already
      mentioned that the bug is fixed (differently) in Tejun's cgroup
      patchset. This one, in other words.
      db0c2bf6
    • A
      ext4: fix failure exits · 94bf608a
      Al Viro 提交于
      a) leaking root dentry is bad
      b) in case of failed ext4_mb_init() we don't want to do ext4_mb_release()
      c) OTOH, in the same case we *do* want ext4_ext_release()
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      94bf608a
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · ac69e092
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2/3/4: delete unneeded includes of module.h
        ext{3,4}: Fix potential race when setversion ioctl updates inode
        udf: Mark LVID buffer as uptodate before marking it dirty
        ext3: Don't warn from writepage when readonly inode is spotted after error
        jbd: Remove j_barrier mutex
        reiserfs: Force inode evictions before umount to avoid crash
        reiserfs: Fix quota mount option parsing
        udf: Treat symlink component of type 2 as /
        udf: Fix deadlock when converting file from in-ICB one to normal one
        udf: Cleanup calling convention of inode_getblk()
        ext2: Fix error handling on inode bitmap corruption
        ext3: Fix error handling on inode bitmap corruption
        ext3: replace ll_rw_block with other functions
        ext3: NULL dereference in ext3_evict_inode()
        jbd: clear revoked flag on buffers before a new transaction started
        ext3: call ext3_mark_recovery_complete() when recovery is really needed
      ac69e092
    • L
      Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd · 9e203936
      Linus Torvalds 提交于
      * 'for-linus' of git://git.open-osd.org/linux-open-osd:
        ore: Must support none-PAGE-aligned IO
        ore: fix BUG_ON, too few sgs when reading
        ore: Fix crash in case of an IO error.
        ore: FIX breakage when MISC_FILESYSTEMS is not set
      9e203936
    • L
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 993ecff8
      Linus Torvalds 提交于
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: fix endian conversion issue in discard code
      993ecff8
    • J
      net: introduce netif_addr_lock_nested() and call if when appropriate · 2429f7ac
      Jiri Pirko 提交于
      dev_uc_sync() and dev_mc_sync() are acquiring netif_addr_lock for
      destination device of synchronization. Since netif_addr_lock is
      already held at the time for source device, this triggers lockdep
      deadlock warning.
      
      There's no way this deadlock can happen so use spin_lock_nested() to
      silence the warning.
      Signed-off-by: NJiri Pirko <jpirko@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2429f7ac
    • J
      ab16ebf3
    • L
      Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 12e55508
      Linus Torvalds 提交于
      * 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (466 commits)
        net/hyperv: Add support for jumbo frame up to 64KB
        net/hyperv: Add NETVSP protocol version negotiation
        net/hyperv: Remove unnecessary kmap_atomic in netvsc driver
        staging/rtl8192e: Register against lib80211
        staging/rtl8192e: Convert to lib80211_crypt_info
        staging/rtl8192e: Convert to lib80211_crypt_data and lib80211_crypt_ops
        staging/rtl8192e: Add lib80211.h to rtllib.h
        staging/mei: add watchdog device registration wrappers
        drm/omap: GEM, deal with cache
        staging: vt6656: int.c, int.h: Change return of function to void
        staging: usbip: removed unused definitions from header
        staging: usbip: removed dead code from receive function
        staging:iio: Drop {mark,unmark}_in_use callbacks
        staging:iio: Drop buffer mark_param_change callback
        staging:iio: Drop the unused buffer enable() and is_enabled() callbacks
        staging:iio: Drop buffer busy flag
        staging:iio: Make sure a device is only opened once at a time
        staging:iio: Disallow modifying buffer size when buffer is enabled
        staging:iio: Disallow changing scan elements in all buffered modes
        staging:iio: Use iio_buffer_enabled instead of open coding it
        ...
      
      Fix up conflict in drivers/staging/iio/adc/ad799x_core.c (removal of
      module_init due to using module_i2c_driver() helper, next to removal of
      MODULE_ALIAS due to using MODULE_DEVICE_TABLE instead).
      12e55508
    • L
      Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 55b81e6f
      Linus Torvalds 提交于
      * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (232 commits)
        USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c
        xhci: Clean up 32-bit build warnings.
        USB: update documentation for usbmon
        usb: usb-storage doesn't support dynamic id currently, the patch disables the feature to fix an oops
        drivers/usb/class/cdc-acm.c: clear dangling pointer
        drivers/usb/dwc3/dwc3-pci.c: introduce missing kfree
        drivers/usb/host/isp1760-if.c: introduce missing kfree
        usb: option: add ZD Incorporated HSPA modem
        usb: ch9: fix up MaxStreams helper
        USB: usb-skeleton.c: cleanup open_count
        USB: usb-skeleton.c: fix open/disconnect race
        xhci: Properly handle COMP_2ND_BW_ERR
        USB: remove dead code from suspend/resume path
        USB: add quirk for another camera
        drivers: usb: wusbcore: Fix dependency for USB_WUSB
        xhci: Better debugging for critical host errors.
        xhci: Be less verbose during URB cancellation.
        xhci: Remove debugging about ring structure allocation.
        xhci: Remove debugging about toggling cycle bits.
        xhci: Remove debugging for individual transfers.
        ...
      55b81e6f
    • L
      Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 5983faf9
      Linus Torvalds 提交于
      * 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (65 commits)
        tty: serial: imx: move del_timer_sync() to avoid potential deadlock
        imx: add polled io uart methods
        imx: Add save/restore functions for UART control regs
        serial/imx: let probing fail for the dt case without a valid alias
        serial/imx: propagate error from of_alias_get_id instead of using -ENODEV
        tty: serial: imx: Allow UART to be a source for wakeup
        serial: driver for m32 arch should not have DEC alpha errata
        serial/documentation: fix documented name of DCD cpp symbol
        atmel_serial: fix spinlock lockup in RS485 code
        tty: Fix memory leak in virtual console when enable unicode translation
        serial: use DIV_ROUND_CLOSEST instead of open coding it
        serial: add support for 400 and 800 v3 series Titan cards
        serial: bfin-uart: Remove ASYNC_CTS_FLOW flag for hardware automatic CTS.
        serial: bfin-uart: Enable hardware automatic CTS only when CTS pin is available.
        serial: make FSL errata depend on 8250_CONSOLE, not just 8250
        serial: add irq handler for Freescale 16550 errata.
        serial: manually inline serial8250_handle_port
        serial: make 8250 timeout use the specified IRQ handler
        serial: export the key functions for an 8250 IRQ handler
        serial: clean up parameter passing for 8250 Rx IRQ handling
        ...
      5983faf9
    • L
      Merge branch 'char-misc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 21a2cb56
      Linus Torvalds 提交于
      * 'char-misc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        isl29020: Remove a redundant semi-colon from return statement
        BMP085: Remove redundant semi-colon from return statement
        drivers:misc: ti-st: DEBUG uart, baud rate mods
        drivers:misc: ti-st: flush UART upon fw failure
        drivers:misc: ti-st: protect registrations
        char_dev.c: fix up some whitespace errors
        s390: tape_class.h: remove kobj_map.h inclusion
        misc: ad525x_dpot: Add support for SPI module device table matching
      21a2cb56
    • A
      Merge branch 'samsung/cleanup' into next/boards · 421b759b
      Arnd Bergmann 提交于
      Conflicts:
      	arch/arm/mach-imx/mach-imx6q.c
      	arch/arm/mach-omap2/board-ti8168evm.c
      	arch/arm/mach-s3c64xx/Kconfig
      	arch/arm/mach-tegra/Makefile
      	arch/arm/mach-tegra/board-dt-tegra20.c
      	arch/arm/mach-tegra/common.c
      
      Lots of relatively simple conflicts between the board
      changes and stuff from the arm tree. This pulls in
      the resolution from the samsung/cleanup tree, so we
      don't get conflicting merges.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      421b759b
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · c99516ca
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ext[34]: avoid i_nlink warnings triggered by drop_nlink/inc_nlink kludge in symlink()
        exofs: oops after late failure in mount
        devpts: fix double-free on mount failure
        ... and the same for gadgetfs
        functionfs: unfuck failure exits on mount
      c99516ca