1. 12 Oct, 2014 7 commits
    • Linus Torvalds's avatar
      Merge tag 'ktest-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 6bbcb1d3
      Linus Torvalds authored
      Pull ktest update from Steven Rostedt:
       "A fix and a clean up to ktest, as well as two small features.
      
         - A way to allow users to skip a manual bisect.
         - Allowing cherry picked patches to be tested.
      
        The cherry pick worked for a test I needed, but stressing it may not
        have all the desired effects.  It doesn't cause any regressions so I
        kept it in"
      
      * tag 'ktest-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: Don't bother with bisect good or bad on replay
        ktest: Fix check for new kernel success on rebooting to good kernel
        ktest: add ability to skip during BISECT_MANUAL
        ktest: Add PATCHCHECK_CHERRY
      6bbcb1d3
    • Linus Torvalds's avatar
      Merge tag 'trace-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 8df6be11
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Seems that Peter Zijlstra added a new check that is making old code
        scream nasty warnings:
      
          WARNING: CPU: 0 PID: 91 at kernel/sched/core.c:7253 __might_sleep+0x9a/0x378()
          do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffff8d79b511>] event_test_thread+0x48/0x93
          Call Trace:
            __might_sleep+0x9a/0x378
            down_read+0x26/0x98
            exit_signals+0x27/0x1c2
            do_exit+0x193/0x10bd
            kthread+0x156/0x156
            ret_from_fork+0x7a/0xb0
      
        These are triggered by some self tests that run at start up when
        configure in.  Although the code is technically correct, they are a
        little sloppy and not very robust.  They work now because it runs at
        boot up and the tests do not call anything that might trigger a
        spurious wake up.  But that doesn't mean those tests wont change in
        the future.
      
        It's best to clean them now to make sure the tests used to test the
        internal workings of the system don't cause breakage themselves.
      
        This also quiets the warnings made by the new checks"
      
      * tag 'trace-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Clean up scheduling in trace_wakeup_test_thread()
        tracing: Robustify wait loop
      8df6be11
    • Linus Torvalds's avatar
      Merge tag 'trace-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 9837acff
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "This set has a few minor updates, but the big change is the redesign
        of the trampoline logic.
      
        The trampoline logic of 3.17 required a descriptor for every function
        that is registered to be traced and uses a trampoline.  Currently,
        only the function graph tracer uses a trampoline, but if you were to
        trace all 32,000 (give or take a few thousand) functions with the
        function graph tracer, it would create 32,000 descriptors to let us
        know that there's a trampoline associated with it.  This takes up a
        bit of memory when there's a better way to do it.
      
        The redesign now reuses the ftrace_ops' (what registers the function
        graph tracer) hash tables.  The hash tables tell ftrace what the
        tracer wants to trace or doesn't want to trace.  There's two of them:
        one that tells us what to trace, the other tells us what not to trace.
        If the first one is empty, it means all functions should be traced,
        otherwise only the ones that are listed should be.  The second hash
        table tells us what not to trace, and if it is empty, all functions
        may be traced, and if there's any listed, then those should not be
        traced even if they exist in the first hash table.
      
        It took a bit of massaging, but now these hashes can be used to keep
        track of what has a trampoline and what does not, and allows the
        ftrace accounting to work.  Now we can trace all functions when using
        the function graph trampoline, and avoid needing to create any special
        descriptors to hold all the functions that are being traced"
      
      * tag 'trace-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Only disable ftrace_enabled to test buffer in selftest
        ftrace: Add sanity check when unregistering last ftrace_ops
        kernel: trace_syscalls: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
        tracing: generate RCU warnings even when tracepoints are disabled
        ftrace: Replace tramp_hash with old_*_hash to save space
        ftrace: Annotate the ops operation on update
        ftrace: Grab any ops for a rec for enabled_functions output
        ftrace: Remove freeing of old_hash from ftrace_hash_move()
        ftrace: Set callback to ftrace_stub when no ops are registered
        ftrace: Add helper function ftrace_ops_get_func()
        ftrace: Add separate function for non recursive callbacks
      9837acff
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · ca321885
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "This set fixes a bunch of fallout from the changes that went in during
        this merge window, particularly:
      
         - Fix fsl_pq_mdio (Claudiu Manoil) and fm10k (Pranith Kumar) build
           failures.
      
         - Several networking drivers do atomic_set() on page counts where
           that's not exactly legal.  From Eric Dumazet.
      
         - Make __skb_flow_get_ports() work cleanly with unaligned data, from
           Alexander Duyck.
      
         - Fix some kernel-doc buglets in rfkill and netlabel, from Fabian
           Frederick.
      
         - Unbalanced enable_irq_wake usage in bcmgenet and systemport
           drivers, from Florian Fainelli.
      
         - pxa168_eth needs to depend on HAS_DMA, from Geert Uytterhoeven.
      
         - Multi-dequeue in the qdisc layer severely bypasses the fairness
           limits the previous code used to enforce, reintroduce in a way that
           at the same time doesn't compromise bulk dequeue opportunities.
           From Jesper Dangaard Brouer.
      
         - macvlan receive path unnecessarily hops through a softirq by using
           netif_rx() instead of netif_receive_skb().  From Jason Baron"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (51 commits)
        net: systemport: avoid unbalanced enable_irq_wake calls
        net: bcmgenet: avoid unbalanced enable_irq_wake calls
        net: bcmgenet: fix off-by-one in incrementing read pointer
        net: fix races in page->_count manipulation
        mlx4: fix race accessing page->_count
        ixgbe: fix race accessing page->_count
        igb: fix race accessing page->_count
        fm10k: fix race accessing page->_count
        net/phy: micrel: Add clock support for KSZ8021/KSZ8031
        flow-dissector: Fix alignment issue in __skb_flow_get_ports
        net: filter: fix the comments
        Documentation: replace __sk_run_filter with __bpf_prog_run
        macvlan: optimize the receive path
        macvlan: pass 'bool' type to macvlan_count_rx()
        drivers: net: xgene: Add 10GbE ethtool support
        drivers: net: xgene: Add 10GbE support
        drivers: net: xgene: Preparing for adding 10GbE support
        dtb: Add 10GbE node to APM X-Gene SoC device tree
        Documentation: dts: Update section header for APM X-Gene
        MAINTAINERS: Update APM X-Gene section
        ...
      ca321885
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 052db7ec
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       1) Move to 4-level page tables on sparc64 and support up to 53-bits of
          physical addressing.  Kernel static image BSS size reduced by
          several megabytes.
      
       2) M6/M7 cpu support, from Allan Pais.
      
       3) Move to sparse IRQs, handle hypervisor TLB call errors more
          gracefully, and add T5 perf_event support.  From Bob Picco.
      
       4) Recognize cdroms and compute geometry from capacity in virtual disk
          driver, also from Allan Pais.
      
       5) Fix memset() return value on sparc32, from Andreas Larsson.
      
       6) Respect gfp flags in dma_alloc_coherent on sparc32, from Daniel
          Hellstrom.
      
       7) Fix handling of compound pages in virtual disk driver, from Dwight
          Engen.
      
       8) Fix lockdep warnings in LDC layer by moving IRQ requesting to
          ldc_alloc() from ldc_bind().
      
       9) Increase boot string length to 1024 bytes, from Dave Kleikamp.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: (31 commits)
        sparc64: Fix lockdep warnings on reboot on Ultra-5
        sparc64: Increase size of boot string to 1024 bytes
        sparc64: Kill unnecessary tables and increase MAX_BANKS.
        sparc64: sparse irq
        sparc64: Adjust vmalloc region size based upon available virtual address bits.
        sparc64: Increase MAX_PHYS_ADDRESS_BITS to 53.
        sparc64: Use kernel page tables for vmemmap.
        sparc64: Fix physical memory management regressions with large max_phys_bits.
        sparc64: Adjust KTSB assembler to support larger physical addresses.
        sparc64: Define VA hole at run time, rather than at compile time.
        sparc64: Switch to 4-level page tables.
        sparc64: Fix reversed start/end in flush_tlb_kernel_range()
        sparc64: Add vio_set_intr() to enable/disable Rx interrupts
        vio: fix reuse of vio_dring slot
        sunvdc: limit each sg segment to a page
        sunvdc: compute vdisk geometry from capacity
        sunvdc: add cdrom and v1.1 protocol support
        sparc: VIO protocol version 1.6
        sparc64: Fix hibernation code refrence to PAGE_OFFSET.
        sparc64: Move request_irq() from ldc_bind() to ldc_alloc()
        ...
      052db7ec
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux · fd9879b9
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "Here's a first pull request for powerpc updates for 3.18.
      
        The bulk of the additions are for the "cxl" driver, for IBM's Coherent
        Accelerator Processor Interface (CAPI).  Most of it's in drivers/misc,
        which Greg & Arnd maintain, Greg said he was happy for us to take it
        through our tree.
      
        There's the usual minor cleanups and fixes, including a bit of noise
        in drivers from some of those.  A bunch of updates to our EEH code,
        which has been getting more testing.  Several nice speedups from
        Anton, including 20% in clear_page().
      
        And a bunch of updates for freescale from Scott"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (130 commits)
        cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking
        cxl: Add documentation for userspace APIs
        cxl: Add driver to Kbuild and Makefiles
        cxl: Add userspace header file
        cxl: Driver code for powernv PCIe based cards for userspace access
        cxl: Add base builtin support
        powerpc/mm: Add hooks for cxl
        powerpc/opal: Add PHB to cxl mode call
        powerpc/mm: Add new hash_page_mm()
        powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts
        cxl: Add new header for call backs and structs
        powerpc/powernv: Split out set MSI IRQ chip code
        powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize
        powerpc/msi: Improve IRQ bitmap allocator
        powerpc/cell: Make spu_flush_all_slbs() generic
        powerpc/cell: Move data segment faulting code out of cell platform
        powerpc/cell: Move spu_handle_mm_fault() out of cell platform
        powerpc/pseries: Use new defines when calling H_SET_MODE
        powerpc: Update contact info in Documentation files
        powerpc/perf/hv-24x7: Simplify catalog_read()
        ...
      fd9879b9
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.18-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 81ae31d7
      Linus Torvalds authored
      Pull Xen updates from David Vrabel:
       "Features and fixes:
      
         - Add pvscsi frontend and backend drivers.
         - Remove _PAGE_IOMAP PTE flag, freeing it for alternate uses.
         - Try and keep memory contiguous during PV memory setup (reduces
           SWIOTLB usage).
         - Allow front/back drivers to use threaded irqs.
         - Support large initrds in PV guests.
         - Fix PVH guests in preparation for Xen 4.5"
      
      * tag 'stable/for-linus-3.18-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (22 commits)
        xen: remove DEFINE_XENBUS_DRIVER() macro
        xen/xenbus: Remove BUG_ON() when error string trucated
        xen/xenbus: Correct the comments for xenbus_grant_ring()
        x86/xen: Set EFER.NX and EFER.SCE in PVH guests
        xen: eliminate scalability issues from initrd handling
        xen: sync some headers with xen tree
        xen: make pvscsi frontend dependant on xenbus frontend
        arm{,64}/xen: Remove "EXPERIMENTAL" in the description of the Xen options
        xen-scsifront: don't deadlock if the ring becomes full
        x86: remove the Xen-specific _PAGE_IOMAP PTE flag
        x86/xen: do not use _PAGE_IOMAP PTE flag for I/O mappings
        x86: skip check for spurious faults for non-present faults
        xen/efi: Directly include needed headers
        xen-scsiback: clean up a type issue in scsiback_make_tpg()
        xen-scsifront: use GFP_ATOMIC under spin_lock
        MAINTAINERS: Add xen pvscsi maintainer
        xen-scsiback: Add Xen PV SCSI backend driver
        xen-scsifront: Add Xen PV SCSI frontend driver
        xen: Add Xen pvSCSI protocol description
        xen/events: support threaded irqs for interdomain event channels
        ...
      81ae31d7
  2. 11 Oct, 2014 12 commits
    • Linus Torvalds's avatar
      Merge tag 'locks-v3.18-1' of git://git.samba.org/jlayton/linux · ef4a48c5
      Linus Torvalds authored
      Pull file locking related changes from Jeff Layton:
       "This release is a little more busy for file locking changes than the
        last:
      
         - a set of patches from Kinglong Mee to fix the lockowner handling in
           knfsd
         - a pile of cleanups to the internal file lease API.  This should get
           us a bit closer to allowing for setlease methods that can block.
      
        There are some dependencies between mine and Bruce's trees this cycle,
        and I based my tree on top of the requisite patches in Bruce's tree"
      
      * tag 'locks-v3.18-1' of git://git.samba.org/jlayton/linux: (26 commits)
        locks: fix fcntl_setlease/getlease return when !CONFIG_FILE_LOCKING
        locks: flock_make_lock should return a struct file_lock (or PTR_ERR)
        locks: set fl_owner for leases to filp instead of current->files
        locks: give lm_break a return value
        locks: __break_lease cleanup in preparation of allowing direct removal of leases
        locks: remove i_have_this_lease check from __break_lease
        locks: move freeing of leases outside of i_lock
        locks: move i_lock acquisition into generic_*_lease handlers
        locks: define a lm_setup handler for leases
        locks: plumb a "priv" pointer into the setlease routines
        nfsd: don't keep a pointer to the lease in nfs4_file
        locks: clean up vfs_setlease kerneldoc comments
        locks: generic_delete_lease doesn't need a file_lock at all
        nfsd: fix potential lease memory leak in nfs4_setlease
        locks: close potential race in lease_get_mtime
        security: make security_file_set_fowner, f_setown and __f_setown void return
        locks: consolidate "nolease" routines
        locks: remove lock_may_read and lock_may_write
        lockd: rip out deferred lock handling from testlock codepath
        NFSD: Get reference of lockowner when coping file_lock
        ...
      ef4a48c5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 90d0c376
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "The largest set of changes here come from Miao Xie.  He's cleaning up
        and improving read recovery/repair for raid, and has a number of
        related fixes.
      
        I've merged another set of fsync fixes from Filipe, and he's also
        improved the way we handle metadata write errors to make sure we force
        the FS readonly if things go wrong.
      
        Otherwise we have a collection of fixes and cleanups.  Dave Sterba
        gets a cookie for removing the most lines (thanks Dave)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (139 commits)
        btrfs: Fix compile error when CONFIG_SECURITY is not set.
        Btrfs: fix compiles when CONFIG_BTRFS_FS_RUN_SANITY_TESTS is off
        btrfs: Make btrfs handle security mount options internally to avoid losing security label.
        Btrfs: send, don't delay dir move if there's a new parent inode
        btrfs: add more superblock checks
        Btrfs: fix race in WAIT_SYNC ioctl
        Btrfs: be aware of btree inode write errors to avoid fs corruption
        Btrfs: remove redundant btrfs_verify_qgroup_counts declaration.
        btrfs: fix shadow warning on cmp
        Btrfs: fix compilation errors under DEBUG
        Btrfs: fix crash of btrfs_release_extent_buffer_page
        Btrfs: add missing end_page_writeback on submit_extent_page failure
        btrfs: Fix the wrong condition judgment about subset extent map
        Btrfs: fix build_backref_tree issue with multiple shared blocks
        Btrfs: cleanup error handling in build_backref_tree
        btrfs: move checks for DUMMY_ROOT into a helper
        btrfs: new define for the inline extent data start
        btrfs: kill extent_buffer_page helper
        btrfs: drop constant param from btrfs_release_extent_buffer_page
        btrfs: hide typecast to definition of BTRFS_SEND_TRANS_STUB
        ...
      90d0c376
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · ac0c4939
      Linus Torvalds authored
      Pull UDF and quota updates from Jan Kara:
       "A few UDF fixes and also a few patches which are preparing filesystems
        for support of project quotas in VFS"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Fix loading of special inodes
        ocfs2: Back out change to use OCFS2_MAXQUOTAS in ocfs2_setattr()
        udf: remove redundant sys_tz declaration
        ocfs2: Don't use MAXQUOTAS value
        reiserfs: Don't use MAXQUOTAS value
        ext3: Don't use MAXQUOTAS value
        udf: Fix race between write(2) and close(2)
      ac0c4939
    • Linus Torvalds's avatar
      Merge tag 'ecryptfs-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs · eca9fdf3
      Linus Torvalds authored
      Pull eCryptfs updates from Tyler Hicks:
       "Minor code cleanups and a fix for when eCryptfs metadata is stored in
        xattrs"
      
      * tag 'ecryptfs-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        ecryptfs: remove unneeded buggy code in ecryptfs_do_create()
        ecryptfs: avoid to access NULL pointer when write metadata in xattr
        ecryptfs: remove unnecessary break after goto
        ecryptfs: Remove unnecessary include of syscall.h in keystore.c
        fs/ecryptfs/messaging.c: remove null test before kfree
        ecryptfs: Drop cast
        Use %pd in eCryptFS
      eca9fdf3
    • Linus Torvalds's avatar
      Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw · 41e46ac0
      Linus Torvalds authored
      Pull gfs2 updates from Steven Whitehouse:
       "This time we have a couple of bug fixes, one relating to bad i_goal
        values which are now ignored (i_goal is basically a hint so it is safe
        to so this) and another relating to the saving of the dirent location
        during rename.
      
        There is one performance improvement, which is an optimisation in
        rgblk_free so that multiple block deallocations will now be more
        efficient, and one clean up patch to use _RET_IP_ rather than writing
        it out longhand"
      
      * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:
        GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0)
        GFS2: Use gfs2_rbm_incr in rgblk_free
        GFS2: Make rename not save dirent location
        GFS2: fix bad inode i_goal values during block allocation
      41e46ac0
    • Linus Torvalds's avatar
      Merge tag 'vfio-v3.18-rc1' of git://github.com/awilliam/linux-vfio · 27a9716b
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
       - Nested IOMMU extension to type1 (Will Deacon)
       - Restore MSIx message before enabling (Gavin Shan)
       - Fix remove path locking (Alex Williamson)
      
      * tag 'vfio-v3.18-rc1' of git://github.com/awilliam/linux-vfio:
        vfio-pci: Fix remove path locking
        drivers/vfio: Export vfio_spapr_iommu_eeh_ioctl() with GPL
        vfio/pci: Restore MSIx message prior to enabling
        PCI: Export MSI message relevant functions
        vfio/iommu_type1: add new VFIO_TYPE1_NESTING_IOMMU IOMMU type
        iommu: introduce domain attribute for nesting IOMMUs
      27a9716b
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux · e98d6e7f
      Linus Torvalds authored
      Pull devicetree changes from Grant Likely:
       "This branch contains bug fixes and new features for the devicetree
        code.
      
        Most of the changes are either new testcases for the selftest code or
        documentation changes.  The most notable change is the addition of a
        phandle resolver for use when grafting in a second device tree blob
        into the core tree.  The resolver isn't currently used by anything
        other than the selftest module, but it will be used to support device
        tree overlays; probably in the v3.19 timeframe.
      
        Also note that I've moved my normal tree from git.secretlab.ca to
        git.kernel.org"
      
      * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
        of/selftest: Move hash table off stack to fix large frame size
        To remove non-ascii characters in of_selftest.txt
        of/selftest: Use the resolver to fixup phandles
        of: Introduce Device Tree resolve support.
        of/selftest: Add a test for duplicate phandles
        of: Don't try to search when phandle == 0
        of/selftest: Test structure of device tree
        of: Fix NULL dereference in selftest removal code
        of: add vendor prefix for Chipidea
        of: Add vendor prefix for Innolux Corporation
        of: Add vendor prefix for Sitronix
        devicetree: bindings: Document Gateworks vendor prefix
        of: Add vendor prefix for Energy Micro
        dt/documentation: add specification of dma bus information
      e98d6e7f
    • Linus Torvalds's avatar
      Merge tag 'backlight-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 4e0b7fe3
      Linus Torvalds authored
      Pull backlight driver updates from Lee Jones:
       "Changes to existing drivers:
         - Checkpatch fixes
         - Removal of unused code in generic_bl
         - Removal of superfluous .owner attribute
      
        No new or removed drivers/supported devices"
      
      * tag 'backlight-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: omap1: add blank line after declarations
        backlight: jornada720: Remove 'else' after a return
        backlight: jornada720: Remove 'else' after a return
        backlight: wm831x_bl: Add blank line after declarations
        backlight: tdo24m: Add blank line after declarations
        backlight: s6e63m0: Remove 'else' after a return
        backlight: pcf50633: Add blank line after declarations
        backlight: lp855x: Add blank line after declarations
        backlight: lms501kf03: Remove 'else' after a return
        backlight: lm3639: Remove unnecessary return statements
        backlight: ld9040: Remove 'else' after a return
        backlight: ili922x: Remove 'else' after a return
        backlight: cr_bllcd: Add blank line after declarations
        backlight: corgi_lcd: Add blank line after declarations
        backlight: ams369fg06: Remove 'else' after a return
        backlight: adp8870: Add blank line after declarations
        backlight: adp8860: Add blank line after declarations
        backlight: adp5520: Add blank line after declarations
        backlight: generic_bl: Remove unused function
        backlight: Remove .owner field for drivers using module_platform_driver
      4e0b7fe3
    • Linus Torvalds's avatar
      Merge tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc · f43b179b
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Fix SDIO IRQ bug
         - MMC regulator improvements
         - Fix slot-gpio card detect bug
         - Add support for Driver Stage Register
         - Convert the common MMC OF parser to use GPIO descriptors
         - Convert MMC_CAP2_NO_MULTI_READ into a callback, ->multi_io_quirk()
         - Some additional minor fixes
      
        MMC host:
         - mmci: Support Qualcomm specific DML layer for DMA
         - dw_mmc: Use common MMC regulators
         - dw_mmc: Add support for Rock-chips RK3288
         - tmio: Enable runtime PM support
         - tmio: Add support for R-Car Gen2 SoCs
         - tmio: Several fixes and improvements
         - omap_hsmmc: Removed Balaji from MAINTAINERS
         - jz4740: add DMA and pre/post support
         - sdhci: Add support for Intel Braswell
         - sdhci: Several fixes and improvements"
      
      * tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc: (119 commits)
        ARM: dts: fix MMC2 regulators for Exynos5420 Arndale Octa board
        mmc: sdhci-acpi: Fix Braswell eMMC timeout clock frequency
        mmc: sdhci-acpi: Pass HID and UID to probe_slot
        mmc: sdhci-acpi: Get UID directly from acpi_device
        mmc, sdhci, bcm-kona, LLVMLinux: Remove use of __initconst
        mmc: sdhci-pci: Fix Braswell eMMC timeout clock frequency
        mmc: sdhci: Let a driver override timeout clock frequency
        mmc: sdhci-pci: Add Bay Trail and Braswell SD card detect
        mmc: sdhci-pci: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel BYT host controllers
        mmc: sdhci-acpi: Add a HID and UID for a SD Card host controller
        mmc: sdhci-acpi: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel host controllers
        mmc: sdhci: Add quirk for always getting TC with stop cmd
        mmc: core: restore detect line inversion semantics
        mmc: Fix incorrect warning when setting 0 Hz via debugfs
        mmc: Fix use of wrong device in mmc_gpiod_free_cd()
        mmc: atmel-mci: fix mismatched section on atmci_cleanup_slot
        mmc: rtsx_pci: Set power related cap2 macros
        mmc: core: Add new power_mode MMC_POWER_UNDEFINED
        mmc: sdhci: execute tuning when device is not busy
        mmc: atmel-mci: Release mmc resources on failure in probe
        ..
      f43b179b
    • Linus Torvalds's avatar
      Merge tag 'sound-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · a2ce3527
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "This time it's a relatively calm update batch, but the amount isn't
        too small in the end.  Here we go over some highlights:
      
        ALSA core:
         - One major change is the support of nonatomic PCM operations.  This
           allows the trigger and other callbacks to call schedule(), which
           would be useful for mailbox type communications.  Already some
           drivers (Digigram ones) have been converted to use together with
           threaded irqs as an example.
         - Improvement / fixes of DSD PCM format support
      
        HD-audio:
         - Large volume of rewrites are found in Realtek codec driver for
           converting Dell and HP quirks to generic forms.
         - Inverted dmic code cleanup from David.
         - Realtek COEF access has been optimized.
         - Now HD-audio jack infrastructure allows multiple callbacks, which
           fixes / simplifies the jack-dependent power controls on STAC/IDT
           and VIA codecs.
         - Many additional device-specific fixups as usual
         - A few deadcode cleanups, CA0132 code cleanup, etc.
      
        ASoC:
         - More componentization work from Lars-Peter, this time mainly
           cleaning up the suspend and bias level transition callbacks.
         - Real system support for the Intel drivers and a bunch of fixes and
           enhancements for the associated CODEC drivers, this is going to
           need a lot quirks over time due to the lack of any firmware
           description of the boards.
         - Jack detect support for simple card from Dylan Reid.
         - A bunch of small fixes and enhancements for the Freescale drivers.
         - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32,
           Everest Semiconductor ES8328 and Freescale cards using the ASRC in
           newer i.MX processors.
         - A few simple-card fixes, mostly cleanups but also a fix for
           interaction between GPIO 0 and simple-card.
      
        Misc:
         - Virtuoso / Oxygen updates by Clemens
         - USB-audio: Yamaha MOTIF XF MIDI port name fixes
         - Conversion of kernel messages to standard dev_*() in ctxfi driver"
      
      * tag 'sound-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (251 commits)
        ASoC: mc13783: Ensure we only try to dereference valid of_nodes
        ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_txctrl
        ALSA: hda - Add dock port support to Thinkpad L440 (71aa:501e)
        ALSA: Allow pass NULL dev for snd_pci_quirk_lookup()
        ASoC: imx-es8328: Fix of_node_put() call with uninitialized object
        ASoC: soc-pcm: fix sig_bits determination in soc_pcm_apply_msb()
        ASoC: simple-card: Initialize headphone and mic GPIO numbers
        ASoC: imx-es8328: Fix missing return code in imx_es8328_probe()
        ALSA: hda - Add dock support for Thinkpad T440 (17aa:2212)
        ALSA: usb: caiaq: check for cdev->n_streams > 1
        ASoC: 88pm860x-codec: Fix possibly missing string termination
        ASoC: core: fix use after free in snd_soc_remove_platform()
        ASoC: soc-dapm: fix use after free
        ALSA: hda - Make the inv dmic handling for Realtek use generic parser
        ALSA: hda - Add Inverted Internal mic for Samsung Ativ book 9 (NP900X3G)
        ALSA: hda - Add inverted internal mic for Asus Aspire 4830T
        ASoC: Intel: byt-rt5640: fix coccinelle warnings
        ASoC: fsl_esai doc: Add "fsl,vf610-esai" as compatible string
        ASoC: da732x: Remove unnecessary KERN_ERR in pr_err()
        ASoC: simple-card: Fix detect gpio documentation.
        ...
      a2ce3527
    • Linus Torvalds's avatar
      Merge tag 'edac/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac · bf65dea8
      Linus Torvalds authored
      Pull edac updates from Mauro Carvalho Chehab:
       "Nothing really exiting here: just one bug fix at sb_edac, and some
        changes to allow other drivers to use some shared PCI addresses"
      
      * tag 'edac/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac:
        sb_edac: Claim a different PCI device
        Move Intel SNB device ids from sb_edac to pci_ids.h
        sb_edac: avoid INTERNAL ERROR message in EDAC with unspecified channel
      bf65dea8
    • Linus Torvalds's avatar
      Merge tag 'media/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 4d9708ea
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - new IR driver: hix5hd2-ir
      
       - the virtual test driver (vivi) was replaced by vivid, with has an
         almost complete set of features to emulate most v4l2 devices and
         properly test all sorts of userspace apps
      
       - the as102 driver had several bugs fixed and was properly split into a
         frontend and a core driver.  With that, it got promoted from staging
         into mainstream
      
       - one new CI driver got added for CIMaX SP2/SP2HF (sp2 driver)
      
       - one new frontend driver for Toshiba ISDB-T/ISDB-S demod (tc90522)
      
       - one new PCI driver for ISDB-T/ISDB-S (pt3 driver)
      
       - saa7134 driver got support for go7007-based devices
      
       - added a new PCI driver for Techwell 68xx chipsets (tw68)
      
       - a new platform driver was added (coda)
      
       - new tuner drivers: mxl301rf and qm1d1c0042
      
       - a new DVB USB driver was added for DVBSky S860 & similar devices
      
       - added a new SDR driver (hackrf)
      
       - usbtv got audio support
      
       - several platform drivers are now compiled with COMPILE_TEST
      
       - a series of compiler fixup patches, making sparse/spatch happier with
         the media stuff and removing several warnings, especially on those
         platform drivers that didn't use to compile on x86
      
       - Support for several new modern devices got added
      
       - lots of other fixes, improvements and cleanups
      
      * tag 'media/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (544 commits)
        [media] ir-hix5hd2: fix build on c6x arch
        [media] pt3: fix DTV FE I2C driver load error paths
        Revert "[media] media: em28xx - remove reset_resume interface"
        [media] exynos4-is: fix some warnings when compiling on arm64
        [media] usb drivers: use %zu instead of %zd
        [media] pci drivers: use %zu instead of %zd
        [media] dvb-frontends: use %zu instead of %zd
        [media] s5p-mfc: Fix several printk warnings
        [media] s5p_mfc_opr: Fix warnings
        [media] ti-vpe: Fix typecast
        [media] s3c-camif: fix dma_addr_t printks
        [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits
        [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64
        [media] em28xx: Fix identation
        [media] drxd: remove a dead code
        [media] saa7146: remove return after BUG()
        [media] cx88: remove return after BUG()
        [media] cx88: fix cards table CodingStyle
        [media] radio-sf16fmr2: declare some structs as static
        [media] radio-sf16fmi: declare pnp_attached as static
        ...
      4d9708ea
  3. 10 Oct, 2014 21 commits
    • Linus Torvalds's avatar
      Merge branch 'for-v3.18' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping · 754c7809
      Linus Torvalds authored
      Pull dma-mapping update from Marek Szyprowski:
       "Provide the dma write coherent api (available previously on ARM
        architecture) for all other architectures, which use dma_ops-based dma
        mapping implementation.
      
        This lets one to use the same code in the device drivers regardless of
        the selected architecture"
      
      * 'for-v3.18' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
        dma-mapping: Provide write-combine allocations
        s390: Implement dma_{alloc,free}_attrs()
      754c7809
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v3.18' of... · 40c43269
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
       - new driver for menf21bmc.
       - convert k10temp, smsc47b397, da9052, da9055 to new hwmon API.
       - register ntc_thermistor driver with thermal subsystem.
       - add support for F15h M60h to k10temp driver.
       - add driver for MEN14F021P00 BMC HWMON driver; this required a merge
         with tag mfd-hwmon-leds-watchdog-v3.18
      
      * tag 'hwmon-for-linus-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (ab8500) Call kernel_power_off instead of pm_power_off
        hwmon: (menf21bmc) Introduce MEN14F021P00 BMC HWMON driver
        leds: leds-menf21bmc: Introduce MEN 14F021P00 BMC LED driver
        watchdog: menf21bmc_wdt: Introduce MEN 14F021P00 BMC Watchdog driver
        mfd: menf21bmc: Introduce MEN 14F021P00 BMC MFD Core driver
        hwmon: (ntc_thermistor) Add ntc thermistor to thermal subsystem as a sensor.
        hwmon: (smsc47b397) Convert to devm_hwmon_device_register_with_groups
        MAINTAINERS: add entry for the PWM fan driver
        hwmon: (k10temp) Convert to devm_hwmon_device_register_with_groups
        hwmon: (k10temp) Add support for F15h M60h
        hwmon: (da9052) Convert to devm_hwmon_device_register_with_groups
        hwmon: (da9055) Convert to devm_hwmon_device_register_with_groups
        hwmon: (ads1015) Use of_property_read_u32 at appropriate places
      40c43269
    • Linus Torvalds's avatar
      Merge tag 'restart-handler-for-v3.18' of... · 93834c64
      Linus Torvalds authored
      Merge tag 'restart-handler-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull restart handler infrastructure from Guenter Roeck:
       "This series was supposed to be pulled through various trees using it,
        and I did not plan to send a separate pull request.  As it turns out,
        the pinctrl tree did not merge with it, is now upstream, and uses it,
        meaning there are now build failures.
      
        Please pull this series directly to fix those build failures"
      
      * tag 'restart-handler-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        arm/arm64: unexport restart handlers
        watchdog: sunxi: register restart handler with kernel restart handler
        watchdog: alim7101: register restart handler with kernel restart handler
        watchdog: moxart: register restart handler with kernel restart handler
        arm: support restart through restart handler call chain
        arm64: support restart through restart handler call chain
        power/restart: call machine_restart instead of arm_pm_restart
        kernel: add support for kernel restart handler call chain
      93834c64
    • David S. Miller's avatar
      sparc64: Fix lockdep warnings on reboot on Ultra-5 · bdcf81b6
      David S. Miller authored
      Inconsistently, the raw_* IRQ routines do not interact with and update
      the irqflags tracing and lockdep state, whereas the raw_* spinlock
      interfaces do.
      
      This causes problems in p1275_cmd_direct() because we disable hardirqs
      by hand using raw_local_irq_restore() and then do a raw_spin_lock()
      which triggers a lockdep trace because the CPU's hw IRQ state doesn't
      match IRQ tracing's internal software copy of that state.
      
      The CPU's irqs are disabled, yet current->hardirqs_enabled is true.
      
      ====================
      reboot: Restarting system
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3536 check_flags+0x7c/0x240()
      DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)
      Modules linked in: openpromfs
      CPU: 0 PID: 1 Comm: systemd-shutdow Tainted: G        W      3.17.0-dirty #145
      Call Trace:
       [000000000045919c] warn_slowpath_common+0x5c/0xa0
       [0000000000459210] warn_slowpath_fmt+0x30/0x40
       [000000000048f41c] check_flags+0x7c/0x240
       [0000000000493280] lock_acquire+0x20/0x1c0
       [0000000000832b70] _raw_spin_lock+0x30/0x60
       [000000000068f2fc] p1275_cmd_direct+0x1c/0x60
       [000000000068ed28] prom_reboot+0x28/0x40
       [000000000043610c] machine_restart+0x4c/0x80
       [000000000047d2d4] kernel_restart+0x54/0x80
       [000000000047d618] SyS_reboot+0x138/0x200
       [00000000004060b4] linux_sparc_syscall32+0x34/0x60
      ---[ end trace 5c439fe81c05a100 ]---
      possible reason: unannotated irqs-off.
      irq event stamp: 2010267
      hardirqs last  enabled at (2010267): [<000000000049a358>] vprintk_emit+0x4b8/0x580
      hardirqs last disabled at (2010266): [<0000000000499f08>] vprintk_emit+0x68/0x580
      softirqs last  enabled at (2010046): [<000000000045d278>] __do_softirq+0x378/0x4a0
      softirqs last disabled at (2010039): [<000000000042bf08>] do_softirq_own_stack+0x28/0x40
      Resetting ...
      ====================
      
      Use local_* variables of the hw IRQ interfaces so that IRQ tracing sees
      all of our changes.
      Reported-by: default avatarMeelis Roos <mroos@linux.ee>
      Tested-by: default avatarMeelis Roos <mroos@linux.ee>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bdcf81b6
    • David S. Miller's avatar
      Merge branch 'bcmgenet_systemport' · 01d2d484
      David S. Miller authored
      Florian Fainelli says:
      
      ====================
      net: bcmgenet & systemport fixes
      
      This patch series fixes an off-by-one error introduced during a previous
      change, and the two other fixes fix a wake depth imbalance situation for
      the Wake-on-LAN interrupt line.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      01d2d484
    • Florian Fainelli's avatar
      net: systemport: avoid unbalanced enable_irq_wake calls · 61b423a8
      Florian Fainelli authored
      Multiple enable_irq_wake() calls will keep increasing the IRQ
      wake_depth, which ultimately leads to the following types of
      situation:
      
      1) enable Wake-on-LAN interrupt w/o password
      2) enable Wake-on-LAN interrupt w/ password
      3) enable Wake-on-LAN interrupt w/o password
      4) disable Wake-on-LAN interrupt
      
      After step 4), SYSTEMPORT would always wake-up the system no matter what
      wake-up device we use, which is not what we want. Fix this by making
      sure there are no unbalanced enable_irq_wake() calls.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      61b423a8
    • Florian Fainelli's avatar
      net: bcmgenet: avoid unbalanced enable_irq_wake calls · 083731a8
      Florian Fainelli authored
      Multiple enable_irq_wake() calls will keep increasing the IRQ
      wake_depth, which ultimately leads to the following types of
      situation:
      
      1) enable Wake-on-LAN interrupt w/o password
      2) enable Wake-on-LAN interrupt w/ password
      3) enable Wake-on-LAN interrupt w/o password
      4) disable Wake-on-LAN interrupt
      
      After step 4), GENET would always wake-up the system no matter what
      wake-up device we use, which is not what we want. Fix this by making
      sure there are no unbalanced enable_irq_wake() calls.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      083731a8
    • Florian Fainelli's avatar
      net: bcmgenet: fix off-by-one in incrementing read pointer · cf377d88
      Florian Fainelli authored
      Commit b629be5c ("net: bcmgenet: check
      harder for out of memory conditions") moved the increment of the local
      read pointer *before* reading from the hardware descriptor using
      dmadesc_get_length_status(), which creates an off-by-one situation.
      
      Fix this by moving again the read_ptr increment after we have read the
      hardware descriptor to get both the control block and the read pointer
      back in sync.
      
      Fixes: b629be5c ("net: bcmgenet: check harder for out of memory conditions")
      Signed-off-by: default avatarJaedon Shin <jaedon.shin@gmail.com>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Acked-by: default avatarPetri Gynther <pgynther@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cf377d88
    • David S. Miller's avatar
      Merge branch 'net-drivers-pgcnt' · 35b7a191
      David S. Miller authored
      Eric Dumazet says:
      
      ====================
      net: fix races accessing page->_count
      
      This is illegal to use atomic_set(&page->_count, ...) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.
      
      The only case it is valid is when page->_count is 0, we can use this in
      __netdev_alloc_frag()
      
      Note that I never seen crashes caused by these races, the issue was reported
      by Andres Lagar-Cavilla and Hugh Dickins.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      35b7a191
    • Eric Dumazet's avatar
      net: fix races in page->_count manipulation · 4c450583
      Eric Dumazet authored
      This is illegal to use atomic_set(&page->_count, ...) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.
      
      The only case it is valid is when page->_count is 0
      
      Fixes: 540eb7bf ("net: Update alloc frag to reduce get/put page usage and recycle pages")
      Signed-off-by: default avatarEric Dumaze <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4c450583
    • Eric Dumazet's avatar
      mlx4: fix race accessing page->_count · 98226208
      Eric Dumazet authored
      This is illegal to use atomic_set(&page->_count, ...) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      98226208
    • Eric Dumazet's avatar
      ixgbe: fix race accessing page->_count · ec916983
      Eric Dumazet authored
      This is illegal to use atomic_set(&page->_count, 2) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ec916983
    • Eric Dumazet's avatar
      igb: fix race accessing page->_count · 00cd5adb
      Eric Dumazet authored
      This is illegal to use atomic_set(&page->_count, 2) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      00cd5adb
    • Eric Dumazet's avatar
      fm10k: fix race accessing page->_count · 42b0270b
      Eric Dumazet authored
      This is illegal to use atomic_set(&page->_count, 2) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      42b0270b
    • Sascha Hauer's avatar
      net/phy: micrel: Add clock support for KSZ8021/KSZ8031 · 1fadee0c
      Sascha Hauer authored
      The KSZ8021 and KSZ8031 support RMII reference input clocks of 25MHz
      and 50MHz. Both PHYs differ in the default frequency they expect
      after reset. If this differs from the actual input clock, then
      register 0x1f bit 7 must be changed.
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1fadee0c
    • Alexander Duyck's avatar
      flow-dissector: Fix alignment issue in __skb_flow_get_ports · 5af7fb6e
      Alexander Duyck authored
      This patch addresses a kernel unaligned access bug seen on a sparc64 system
      with an igb adapter.  Specifically the __skb_flow_get_ports was returning a
      be32 pointer which was then having the value directly returned.
      
      In order to prevent this it is actually easier to simply not populate the
      ports or address values when an skb is not present.  In this case the
      assumption is that the data isn't needed and rather than slow down the
      faster aligned accesses by making them have to assume the unaligned path on
      architectures that don't support efficent unaligned access it makes more
      sense to simply switch off the bits that were copying the source and
      destination address/port for the case where we only care about the protocol
      types and lengths which are normally 16 bit fields anyway.
      Reported-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5af7fb6e
    • Li RongQing's avatar
      net: filter: fix the comments · 8ea6e345
      Li RongQing authored
      1. sk_run_filter has been renamed, sk_filter() is using SK_RUN_FILTER.
      2. Remove wrong comments about storing intermediate value.
      3. replace sk_run_filter with __bpf_prog_run for check_load_and_stores's
      comments
      
      Cc: Alexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarLi RongQing <roy.qing.li@gmail.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ea6e345
    • Li RongQing's avatar
      Documentation: replace __sk_run_filter with __bpf_prog_run · 1a9525f6
      Li RongQing authored
      __sk_run_filter has been renamed as __bpf_prog_run, so replace them in comments
      Signed-off-by: default avatarLi RongQing <roy.qing.li@gmail.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1a9525f6
    • David S. Miller's avatar
      Merge branch 'macvlan' · 3ab52c69
      David S. Miller authored
      Jason Baron says:
      
      ====================
      macvlan: optimize receive path
      
      So after porting this optimization to net-next, I found that the netperf
      results of TCP_RR regress right at the maximum peak of transactions/sec. That
      is as I increase the number of threads via the first argument to super_netperf,
      the number of transactions/sec keep increasing, peak, and then start
      decreasing. It is right at the peak, that I see a small regression with this
      patch (see results in patch 2/2).
      
      Without the patch, the ksoftirqd threads are the top cpu consumers threads on
      the system, since the extra 'netif_rx()', is queuing more softirq work, whereas
      with the patch, the ksoftirqd threads are below all of the 'netserver' threads
      in terms of their cpu usage. So there appears to be some interaction between how
      softirqs are serviced at the peak here and this patch. I think the test results
      are still supportive of this approach, but I wanted to be clear on my findings.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3ab52c69
    • jbaron@akamai.com's avatar
      macvlan: optimize the receive path · d1dd9119
      jbaron@akamai.com authored
      The netif_rx() call on the fast path of macvlan_handle_frame() appears to
      be there to ensure that we properly throttle incoming packets. However, it
      would appear as though the proper throttling is already in place for all
      possible ingress paths, and that the call is redundant. If packets are arriving
      from the physical NIC, we've already throttled them by this point. Otherwise,
      if they are coming via macvlan_queue_xmit(), it calls either
      'dev_forward_skb()', which ends up calling netif_rx_internal(), or else in
      the broadcast case, we are throttling via macvlan_broadcast_enqueue().
      
      The test results below are from off the box to an lxc instance running macvlan.
      Once the tranactions/sec stop increasing, the cpu idle time has gone to 0.
      Results are from a quad core Intel E3-1270 V2@3.50GHz box with bnx2x 10G card.
      
      for i in {10,100,200,300,400,500};
      do super_netperf $i -H $ip -t TCP_RR; done
      Average of 5 runs.
      
      trans/sec 		 trans/sec
      (3.17-rc7-net-next)      (3.17-rc7-net-next + this patch)
      ----------               ----------
      208101                   211534 (+1.6%)
      839493                   850162 (+1.3%)
      845071                   844053 (-.12%)
      816330                   819623 (+.4%)
      778700                   789938 (+1.4%)
      735984                   754408 (+2.5%)
      Signed-off-by: default avatarJason Baron <jbaron@akamai.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d1dd9119
    • jbaron@akamai.com's avatar
      macvlan: pass 'bool' type to macvlan_count_rx() · 4c979935
      jbaron@akamai.com authored
      Pass last argument to macvlan_count_rx() as the correct bool type.
      Signed-off-by: default avatarJason Baron <jbaron@akamai.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4c979935