1. 22 Jul, 2011 40 commits
    • Linus Torvalds's avatar
      Merge branch 'ptrace' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc · 8209f53d
      Linus Torvalds authored
      * 'ptrace' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: (39 commits)
        ptrace: do_wait(traced_leader_killed_by_mt_exec) can block forever
        ptrace: fix ptrace_signal() && STOP_DEQUEUED interaction
        connector: add an event for monitoring process tracers
        ptrace: dont send SIGSTOP on auto-attach if PT_SEIZED
        ptrace: mv send-SIGSTOP from do_fork() to ptrace_init_task()
        ptrace_init_task: initialize child->jobctl explicitly
        has_stopped_jobs: s/task_is_stopped/SIGNAL_STOP_STOPPED/
        ptrace: make former thread ID available via PTRACE_GETEVENTMSG after PTRACE_EVENT_EXEC stop
        ptrace: wait_consider_task: s/same_thread_group/ptrace_reparented/
        ptrace: kill real_parent_is_ptracer() in in favor of ptrace_reparented()
        ptrace: ptrace_reparented() should check same_thread_group()
        redefine thread_group_leader() as exit_signal >= 0
        do not change dead_task->exit_signal
        kill task_detached()
        reparent_leader: check EXIT_DEAD instead of task_detached()
        make do_notify_parent() __must_check, update the callers
        __ptrace_detach: avoid task_detached(), check do_notify_parent()
        kill tracehook_notify_death()
        make do_notify_parent() return bool
        ptrace: s/tracehook_tracer_task()/ptrace_parent()/
        ...
      8209f53d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 22a3b977
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (31 commits)
        HID: fix support for Microsoft comfort mouse 4500
        HID: hid-multitouch: add one new multitouch device's VID/PID
        HID: prodikeys: remove a redundant forward declaration of struct pcmidi_snd
        HID: prodikeys: make needlessly global symbols static
        HID: emsff: properly handle emsff_init failure
        HID: ACRUX - add missing hid_hw_stop() in ax_probe() error path
        HID: fix horizontal wheel for ms comfort mouse 4500
        HID: uclogic: Add support for UC-Logic WP1062
        HID: wiimote: Add sysfs support to wiimote driver
        HID: wiimote: Cache wiimote led state
        HID: wiimote: Add wiimote led request
        HID: wiimote: Add wiimote input button parser
        HID: wiimote: Add wiimote event handler
        HID: wiimote: Add output queue for wiimote driver
        HID: wiimote: Add wiimote send function
        HID: wiimote: Synchronize wiimote input and hid event handling
        HID: wiimote: Register input device in wiimote hid driver
        HID: wiimote: Add wiimote device structure
        HID: wiimote: Register wiimote hid driver stub
        HID: wiimote: Add Nintendo Wii Remote driver stub
        ...
      22a3b977
    • Linus Torvalds's avatar
      Merge branch 'of-pci' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · acb41c0f
      Linus Torvalds authored
      * 'of-pci' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        pci/of: Consolidate pci_bus_to_OF_node()
        pci/of: Consolidate pci_device_to_OF_node()
        x86/devicetree: Use generic PCI <-> OF matching
        microblaze/pci: Move the remains of pci_32.c to pci-common.c
        microblaze/pci: Remove powermac originated cruft
        pci/of: Match PCI devices to OF nodes dynamically
      acb41c0f
    • Linus Torvalds's avatar
      Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 · 8181780c
      Linus Torvalds authored
      * 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6:
        dt: include linux/errno.h in linux/of_address.h
        of/address: Add of_find_matching_node_by_address helper
        dt: remove extra xsysace platform_driver registration
        tty/serial: Add devicetree support for nVidia Tegra serial ports
        dt: add empty of_property_read_u32[_array] for non-dt
        dt: bindings: move SEC node under new crypto/
        dt: add helper function to read u32 arrays
        tty/serial: change of_serial to use new of_property_read_u32() api
        dt: add 'const' for of_property_read_string parameter **out_string
        dt: add helper functions to read u32 and string property values
        tty: of_serial: support for 32 bit accesses
        dt: document the of_serial bindings
        dt/platform: allow device name to be overridden
        drivers/amba: create devices from device tree
        dt: add of_platform_populate() for creating device from the device tree
        dt: Add default match table for bus ids
      8181780c
    • Linus Torvalds's avatar
      Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6 · 7235dd74
      Linus Torvalds authored
      * 'spi/next' of git://git.secretlab.ca/git/linux-2.6: (34 commits)
        spi/imx: add device tree probe support
        spi/imx: copy gpio number passed by platform data into driver private data
        spi/imx: use soc name in spi device type naming scheme
        spi/imx: merge type SPI_IMX_VER_0_7 into SPI_IMX_VER_0_4
        spi/imx: do not use spi_imx2_3 to name SPI_IMX_VER_2_3 function and macro
        spi/imx: use mx21 to name SPI_IMX_VER_0_0 function and macro
        spi/imx: do not make copy of spi_imx_devtype_data
        spi/dw: Add spi number into spi irq desc
        spi/tegra: Use engineering names in DT compatible property
        spi/fsl_spi: fix CPM spi driver
        mach-s3c2410: remove unused spi-gpio.h file
        spi: remove obsolete spi-s3c24xx-gpio driver
        mach-gta2: remove unused spi-gpio.h include
        mach-qt2410: convert to spi_gpio
        mach-jive: convert to spi_gpio
        spi/pxa2xx: Remove unavailable ssp_type from documentation
        spi/bfin_spi: uninline fat queue funcs
        spi/bfin_spi: constify pin array
        spi/bfin_spi: use structs for accessing hardware regs
        spi/topcliff-pch: Support new device ML7223 IOH
        ...
      
      Fix up trivial conflict in arch/arm/mach-ep93xx/Makefile
      7235dd74
    • Linus Torvalds's avatar
      Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6 · c7c85184
      Linus Torvalds authored
      * 'gpio/next' of git://git.secretlab.ca/git/linux-2.6: (61 commits)
        gpio/mxc/mxs: fix build error introduced by the irq_gc_ack() renaming
        mcp23s08: add i2c support
        mcp23s08: isolate spi specific parts
        mcp23s08: get rid of setup/teardown callbacks
        gpio/tegra: dt: add binding for gpio polarity
        mcp23s08: remove unused work queue
        gpio/da9052: remove a redundant assignment for gpio->da9052
        gpio/mxc: add device tree probe support
        ARM: mxc: use ARCH_NR_GPIOS to define gpio number
        gpio/mxc: get rid of the uses of cpu_is_mx()
        gpio/mxc: add missing initialization of basic_mmio_gpio shadow variables
        gpio: Move mpc5200 gpio driver to drivers/gpio
        GPIO: DA9052 GPIO module v3
        gpio/tegra: Use engineering names in DT compatible property
        of/gpio: Add new method for getting gpios under different property names
        gpio/dt: Refine GPIO device tree binding
        gpio/ml-ioh: fix off-by-one for displaying variable i in dev_err
        gpio/pca953x: Deprecate meaningless device-tree bindings
        gpio/pca953x: Remove dynamic platform data pointer
        gpio/pca953x: Fix IRQ support.
        ...
      c7c85184
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · ece236ce
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (26 commits)
        IB/qib: Defer HCA error events to tasklet
        mlx4_core: Bump the driver version to 1.0
        RDMA/cxgb4: Use printk_ratelimited() instead of printk_ratelimit()
        IB/mlx4: Support PMA counters for IBoE
        IB/mlx4: Use flow counters on IBoE ports
        IB/pma: Add include file for IBA performance counters definitions
        mlx4_core: Add network flow counters
        mlx4_core: Fix location of counter index in QP context struct
        mlx4_core: Read extended capabilities into the flags field
        mlx4_core: Extend capability flags to 64 bits
        IB/mlx4: Generate GID change events in IBoE code
        IB/core: Add GID change event
        RDMA/cma: Don't allow IPoIB port space for IBoE
        RDMA: Allow for NULL .modify_device() and .modify_port() methods
        IB/qib: Update active link width
        IB/qib: Fix potential deadlock with link down interrupt
        IB/qib: Add sysfs interface to read free contexts
        IB/mthca: Remove unnecessary read of PCI_CAP_ID_EXP
        IB/qib: Remove double define
        IB/qib: Remove unnecessary read of PCI_CAP_ID_EXP
        ...
      ece236ce
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 · 441c196e
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
        firewire: document the sysfs ABIs
        firewire: cdev: ABI documentation enhancements
        firewire: cdev: prevent race between first get_info ioctl and bus reset event queuing
        firewire: cdev: return -ENOTTY for unimplemented ioctls, not -EINVAL
        firewire: ohci: skip soft reset retries after card ejection
        firewire: ohci: fix PHY reg access after card ejection
        firewire: ohci: add a comment on PHY reg access serialization
        firewire: ohci: reduce potential context_stop latency
        firewire: ohci: remove superfluous posted write flushes
        firewire: net: replacing deprecated __attribute__((packed)) with __packed
      441c196e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 951cc93a
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1287 commits)
        icmp: Fix regression in nexthop resolution during replies.
        net: Fix ppc64 BPF JIT dependencies.
        acenic: include NET_SKB_PAD headroom to incoming skbs
        ixgbe: convert to ndo_fix_features
        ixgbe: only enable WoL for magic packet by default
        ixgbe: remove ifdef check for non-existent define
        ixgbe: Pass staterr instead of re-reading status and error bits from descriptor
        ixgbe: Move interrupt related values out of ring and into q_vector
        ixgbe: add structure for containing RX/TX rings to q_vector
        ixgbe: inline the ixgbe_maybe_stop_tx function
        ixgbe: Update ATR to use recorded TX queues instead of CPU for routing
        igb: Fix for DH89xxCC near end loopback test
        e1000: always call e1000_check_for_link() on e1000_ce4100 MACs.
        netxen: add fw version compatibility check
        be2net: request native mode each time the card is reset
        ipv4: Constrain UFO fragment sizes to multiples of 8 bytes
        virtio_net: Fix panic in virtnet_remove
        ipv6: make fragment identifications less predictable
        ipv6: unshare inetpeers
        can: make function can_get_bittiming static
        ...
      951cc93a
    • Jiri Kosina's avatar
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus · a7e1aabb
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
        lguest: Fix in/out emulation
        lguest: Fix translation count about wikipedia's cpuid page
        lguest: Fix three simple typos in comments
        lguest: update comments
        lguest: Simplify device initialization.
        lguest: don't rewrite vmcall instructions
        lguest: remove remaining vmcall
        lguest: use a special 1:1 linear pagetable mode until first switch.
        lguest: Do not exit on non-fatal errors
      a7e1aabb
    • Linus Torvalds's avatar
      Merge branch 'stable/drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen · 111ad119
      Linus Torvalds authored
      * 'stable/drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/pciback: Have 'passthrough' option instead of XEN_PCIDEV_BACKEND_PASS and XEN_PCIDEV_BACKEND_VPCI
        xen/pciback: Remove the DEBUG option.
        xen/pciback: Drop two backends, squash and cleanup some code.
        xen/pciback: Print out the MSI/MSI-X (PIRQ) values
        xen/pciback: Don't setup an fake IRQ handler for SR-IOV devices.
        xen: rename pciback module to xen-pciback.
        xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases.
        xen/pciback: Allocate IRQ handler for device that is shared with guest.
        xen/pciback: Disable MSI/MSI-X when reseting a device
        xen/pciback: guest SR-IOV support for PV guest
        xen/pciback: Register the owner (domain) of the PCI device.
        xen/pciback: Cleanup the driver based on checkpatch warnings and errors.
        xen/pciback: xen pci backend driver.
        xen: tmem: self-ballooning and frontswap-selfshrinking
        xen: Add module alias to autoload backend drivers
        xen: Populate xenbus device attributes
        xen: Add __attribute__((format(printf... where appropriate
        xen: prepare tmem shim to handle frontswap
        xen: allow enable use of VGA console on dom0
      111ad119
    • Linus Torvalds's avatar
      Merge branch 'stable/pci.cleanups.v1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen · 997271cf
      Linus Torvalds authored
      * 'stable/pci.cleanups.v1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/pci: Use 'acpi_gsi_to_irq' value unconditionally.
        xen/pci: Remove 'xen_allocate_pirq_gsi'.
        xen/pci: Retire unnecessary #ifdef CONFIG_ACPI
        xen/pci: Move the allocation of IRQs when there are no IOAPIC's to the end
        xen/pci: Squash pci_xen_initial_domain and xen_setup_pirqs together.
        xen/pci: Use the xen_register_pirq for HVM and initial domain users
        xen/pci: In xen_register_pirq bind the GSI to the IRQ after the hypercall.
        xen/pci: Provide #ifdef CONFIG_ACPI to easy code squashing.
        xen/pci: Update comments and fix empty spaces.
        xen/pci: Shuffle code around.
      997271cf
    • Linus Torvalds's avatar
      896d0179
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 0df55ea5
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (78 commits)
        mmc: MAINTAINERS: add myself as a tmio-mmc maintainer
        mmc: print debug messages for runtime PM actions
        mmc: fix runtime PM with -ENOSYS suspend case
        mmc: at91_mci: move register header from include/ to drivers/
        mmc: mxs-mmc: fix clock rate setting
        mmc: tmio: fix a deadlock
        mmc: tmio: fix a recently introduced bug in DMA code
        mmc: sh_mmcif: maximize power saving
        mmc: tmio: maximize power saving
        mmc: tmio: fix recursive spinlock, don't schedule with interrupts disabled
        mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency
        mmc: omap_hsmmc: fix oops in omap_hsmmc_dma_cb()
        mmc: omap_hsmmc: refactor duplicated code
        mmc: omap_hsmmc: fix a few bugs when setting the clock divisor
        mmc: omap_hsmmc: introduce start_clock and re-use stop_clock
        mmc: omap_hsmmc: split duplicate code to calc_divisor() function
        mmc: omap_hsmmc: move hardcoded frequency constants to defines
        mmc: omap_hsmmc: correct debug report error status mnemonics
        mmc: block: fixed NULL pointer dereference
        mmc: documentation of mmc non-blocking request usage and design.
        ...
      0df55ea5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · c1f792a5
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs: (49 commits)
        xfs: add size update tracepoint to IO completion
        xfs: convert AIL cursors to use struct list_head
        xfs: remove confusing ail cursor wrapper
        xfs: use a cursor for bulk AIL insertion
        xfs: failure mapping nfs fh to inode should return ESTALE
        xfs: Remove the second parameter to xfs_sb_count()
        xfs: remove the dead XFS_DABUF_DEBUG code
        xfs: remove leftovers of the old btree tracing code
        xfs: remove the dead QUOTADEBUG code
        xfs: remove the unused xfs_buf_delwri_sort function
        xfs: remove wrappers around b_iodone
        xfs: remove wrappers around b_fspriv
        xfs: add a proper transaction pointer to struct xfs_buf
        xfs: factor out xfs_da_grow_inode_int
        xfs: factor out xfs_dir2_leaf_find_stale
        xfs: cleanup struct xfs_dir2_free
        xfs: reshuffle dir2 headers
        xfs: start periodic workers later
        Revert "xfs: fix filesystsem freeze race in xfs_trans_alloc"
        xfs: remove variables that serve no purpose in xfs_alloc_ag_vextent_exact()
        ...
      c1f792a5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm · 6aaf4404
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
        dlm: don't limit active work items
        dlm: use workqueue for callbacks
        dlm: remove deadlock debug print
        dlm: improve rsb searches
        dlm: keep lkbs in idr
        dlm: fix kmalloc args
        dlm: don't do pointless NULL check, use kzalloc and fix order of arguments
        dlm: dump address of unknown node
        dlm: use vmalloc for hash tables
        dlm: show addresses in configfs
      6aaf4404
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus · ba1f9db9
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus:
        hfsplus: ensure bio requests are not smaller than the hardware sectors
        hfsplus: Add additional range check to handle on-disk corruptions
        hfsplus: Add error propagation for hfsplus_ext_write_extent_locked
        hfsplus: add error checking for hfs_find_init()
        hfsplus: lift the 2TB size limit
        hfsplus: fix overflow in hfsplus_read_wrapper
        hfsplus: fix overflow in hfsplus_get_block
        hfsplus: assignments inside `if' condition clean-up
      ba1f9db9
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw · 49302baa
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:
        GFS2: combine duplicated block freeing routines
        GFS2: Add S_NOSEC support
        GFS2: Automatically adjust glock min hold time
        GFS2: Cache dir hash table in a contiguous buffer
      49302baa
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 · eadc3875
      Linus Torvalds authored
      * 'linux-next' of git://git.infradead.org/ubi-2.6:
        UBI: clarify the volume notification types' doc
        UBI: remove dead code
        UBI: dump stack when switching to R/O mode
        UBI: fix oops in error path
        UBI: switch debugging tests knobs to debugfs
        UBI: make it possible to use struct ubi_device in debug.h
        UBI: prepare debugging stuff to further debugfs conversion
        UBI: use debugfs for the extra checks knobs
        UBI: change the interface of a debugging check function
      eadc3875
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 · 59a7ac12
      Linus Torvalds authored
      * 'linux-next' of git://git.infradead.org/ubifs-2.6: (32 commits)
        MAINTAINERS: change e-mail of Adrian Hunter
        UBIFS: fix master node recovery
        UBIFS: improve power cut emulation testing
        UBIFS: rename recovery testing variables
        UBIFS: remove custom list of superblocks
        UBIFS: stop re-defining UBI operations
        UBIFS: switch to I/O helpers
        UBIFS: switch to ubifs_leb_write
        UBIFS: switch to ubifs_leb_read
        UBIFS: introduce more I/O helpers
        UBIFS: always print stacktrace when switching to R/O mode
        UBIFS: remove unused and unneeded debugging function
        UBIFS: add global debugfs knobs
        UBIFS: introduce debugfs helpers
        UBIFS: re-arrange debugging code a bit
        UBIFS: be more informative in failure mode
        UBIFS: switch self-check knobs to debugfs
        UBIFS: lessen amount of debugging check types
        UBIFS: introduce helper functions for debugging checks and tests
        UBIFS: amend debugging inode size check function prototype
        ...
      59a7ac12
    • Linus Torvalds's avatar
      Merge branch 'slab-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 · f99b7880
      Linus Torvalds authored
      * 'slab-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
        slab: fix DEBUG_SLAB warning
        slab: shrink sizeof(struct kmem_cache)
        slab: fix DEBUG_SLAB build
        SLUB: Fix missing <linux/stacktrace.h> include
        slub: reduce overhead of slub_debug
        slub: Add method to verify memory is not freed
        slub: Enable backtrace for create/delete points
        slab allocators: Provide generic description of alignment defines
        slab, slub, slob: Unify alignment definition
        slob/lockdep: Fix gfp flags passed to lockdep
      f99b7880
    • Roland Dreier's avatar
    • Mike Marciniszyn's avatar
      IB/qib: Defer HCA error events to tasklet · e67306a3
      Mike Marciniszyn authored
      With ib_qib options:
      
          options ib_qib krcvqs=1 pcie_caps=0x51 rcvhdrcnt=4096 singleport=1 ibmtu=4
      
      a run of ib_write_bw -a yields the following:
      
          ------------------------------------------------------------------
           #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
           1048576   5000           2910.64            229.80
          ------------------------------------------------------------------
      
      The top cpu use in a profile is:
      
          CPU: Intel Architectural Perfmon, speed 2400.15 MHz (estimated)
          Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask
          of 0x00 (No unit mask) count 1002300
          Counted LLC_MISSES events (Last level cache demand requests from this core that
          missed the LLC) with a unit mask of 0x41 (No unit mask) count 10000
          samples  %        samples  %        app name                 symbol name
          15237    29.2642  964      17.1195  ib_qib.ko                qib_7322intr
          12320    23.6618  1040     18.4692  ib_qib.ko                handle_7322_errors
          4106      7.8860  0              0  vmlinux                  vsnprintf
      
      
      Analysis of the stats, profile, the code, and the annotated profile indicate:
       - All of the overflow interrupts (one per packet overflow) are
         serviced on CPU0 with no mitigation on the frequency.
       - All of the receive interrupts are being serviced by CPU0.  (That is
         the way truescale.cmds statically allocates the kctx IRQs to CPU)
       - The code is spending all of its time servicing QIB_I_C_ERROR
         RcvEgrFullErr interrupts on CPU0, starving the packet receive
         processing.
       - The decode_err routine is very inefficient, using a printf variant
         to format a "%s" and continues to loop when the errs mask has been
         cleared.
       - Both qib_7322intr and handle_7322_errors read pci registers, which
         is very inefficient.
      
      The fix does the following:
       - Adds a tasklet to service QIB_I_C_ERROR
       - Replaces the very inefficient scnprintf() with a memcpy().  A field
         is added to qib_hwerror_msgs to save the sizeof("string") at
         compile time so that a strlen is not needed during err_decode().
       - The most frequent errors (Overflows) are serviced first to exit the
         loop as early as possible.
       - The loop now exits as soon as the errs mask is clear rather than
         fruitlessly looping through the msp array.
      
      With this fix the performance changes to:
      
          ------------------------------------------------------------------
           #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
           1048576   5000           2990.64            2941.35
          ------------------------------------------------------------------
      
      During testing of the error handling overflow patch, it was determined
      that some CPU's were slower when servicing both overflow and receive
      interrupts on CPU0 with different MSI interrupt vectors.
      
      This patch adds an option (krcvq01_no_msi) to not use a dedicated MSI
      interrupt for kctx's < 2 and to service them on the default interrupt.
      For some CPUs, the cost of the interrupt enter/exit is more costly
      than then the additional PCI read in the default handler.
      Signed-off-by: default avatarMike Marciniszyn <mike.marciniszyn@qlogic.com>
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      e67306a3
    • Seth Forshee's avatar
      hfsplus: ensure bio requests are not smaller than the hardware sectors · 6596528e
      Seth Forshee authored
      Currently all bio requests are 512 bytes, which may fail for media
      whose physical sector size is larger than this. Ensure these
      requests are not smaller than the block device logical block size.
      
      BugLink: http://bugs.launchpad.net/bugs/734883Signed-off-by: default avatarSeth Forshee <seth.forshee@canonical.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      6596528e
    • Naohiro Aota's avatar
      hfsplus: Add additional range check to handle on-disk corruptions · aac4e419
      Naohiro Aota authored
      'recoff' is read from disk and used for an argument to memcpy, so if
      the value read from disk is larger than the page size, it result to
      "general protection fault". This patch add additional range check for
      the value, so that disk fuzz won't cause such fault.
      Signed-off-by: default avatarNaohiro Aota <naota@elisp.net>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      aac4e419
    • David S. Miller's avatar
      icmp: Fix regression in nexthop resolution during replies. · 415b3334
      David S. Miller authored
      icmp_route_lookup() uses the wrong flow parameters if the reverse
      session route lookup isn't used.
      
      So do not commit to the re-decoded flow until we actually make a
      final decision to use a real route saved in 'rt2'.
      Reported-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      415b3334
    • Oleg Nesterov's avatar
      ptrace: do_wait(traced_leader_killed_by_mt_exec) can block forever · eac1b5e5
      Oleg Nesterov authored
      Test-case:
      
      	void *tfunc(void *arg)
      	{
      		execvp("true", NULL);
      		return NULL;
      	}
      
      	int main(void)
      	{
      		int pid;
      
      		if (fork()) {
      			pthread_t t;
      
      			kill(getpid(), SIGSTOP);
      
      			pthread_create(&t, NULL, tfunc, NULL);
      
      			for (;;)
      				pause();
      		}
      
      		pid = getppid();
      		assert(ptrace(PTRACE_ATTACH, pid, 0,0) == 0);
      
      		while (wait(NULL) > 0)
      			ptrace(PTRACE_CONT, pid, 0,0);
      
      		return 0;
      	}
      
      It is racy, exit_notify() does __wake_up_parent() too. But in the
      likely case it triggers the problem: de_thread() does release_task()
      and the old leader goes away without the notification, the tracer
      sleeps in do_wait() without children/tracees.
      
      Change de_thread() to do __wake_up_parent(traced_leader->parent).
      Since it is already EXIT_DEAD we can do this without ptrace_unlink(),
      EXIT_DEAD threads do not exist from do_wait's pov.
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      eac1b5e5
    • Jiri Kosina's avatar
      HID: fix support for Microsoft comfort mouse 4500 · b580169a
      Jiri Kosina authored
      Add forgotten entry into the global blacklist.
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      b580169a
    • Tetsuo Handa's avatar
      slab: fix DEBUG_SLAB warning · 7ea466f2
      Tetsuo Handa authored
      In commit c225150b "slab: fix DEBUG_SLAB build",
      "if ((unsigned long)objp & (ARCH_SLAB_MINALIGN-1))" is always true if
      ARCH_SLAB_MINALIGN == 0. Do not print warning if ARCH_SLAB_MINALIGN == 0.
      Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: default avatarPekka Enberg <penberg@kernel.org>
      7ea466f2
    • Artem Bityutskiy's avatar
      MAINTAINERS: change e-mail of Adrian Hunter · cc8f9b99
      Artem Bityutskiy authored
      ... he does not work in Nokia any longer.
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@intel.com>
      cc8f9b99
    • David S. Miller's avatar
    • David S. Miller's avatar
      368940d0
    • Eric Dumazet's avatar
      acenic: include NET_SKB_PAD headroom to incoming skbs · ecdfeee2
      Eric Dumazet authored
      Some workloads need some headroom (NET_SKB_PAD) to avoid expensive
      reallocations.
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ecdfeee2
    • David S. Miller's avatar
    • Don Skidmore's avatar
      ixgbe: convert to ndo_fix_features · 082757af
      Don Skidmore authored
      Private rx_csum flags are now duplicate of netdev->features &
      NETIF_F_RXCSUM.  We remove those duplicates and now use the net_device_ops
      ndo_set_features.  This was based on the original patch submitted by
      Michal Miroslaw <mirq-linux@rere.qmqm.pl>.  I also removed the special
      case not requiring a reset for X540 hardware.  It is needed just as it is
      in 82599 hardware.
      Signed-off-by: default avatarDon Skidmore <donald.c.skidmore@intel.com>
      Cc:  Michal Miroslaw <mirq-linux@rere.qmqm.pl>
      Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      082757af
    • Andy Gospodarek's avatar
      ixgbe: only enable WoL for magic packet by default · 9417c464
      Andy Gospodarek authored
      Martin Wilck <martin.wilck@ts.fujitsu.com> reported that systems using
      the ixgbe-driver that were capable of WoL were rebooting almost as soon
      as they were shut down.  This is because the default WoL settings
      enabled magic packet, broadcast, unicast, and multicast.
      
      Other Intel devices seem to use the stored eeprom value for initial WoL
      capabilities.  The 82578DM (e1000e) and 82576 (igb) the devices I looked
      at had only the magic packet enabled in the eeprom, so that seems
      appropriate on ixgbe-based devices as well.  I set the WoL options on my
      82578DM to be the same default as the ixgbe devices (umbg) and saw the
      same as Martin -- almost as soon as my box shutdown, it booted again.
      
      This patch changes the default to only be the magic packet.  This is the
      same as the default for most Intel and non-Intel hardware currently
      upstream.
      Signed-off-by: default avatarAndy Gospodarek <andy@greyhouse.net>
      CC: Martin Wilck <martin.wilck@ts.fujitsu.com>
      Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      9417c464
    • Emil Tantilov's avatar
    • Alexander Duyck's avatar
      ixgbe: Pass staterr instead of re-reading status and error bits from descriptor · ff886dfc
      Alexander Duyck authored
      This change is meant to address possible race conditions from the status
      and error bits on the RX descriptors being re-read by multiple functions in
      the RX cleanup path.  To resolve this I have added code that will pass the
      staterr value to those functions.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Tested-by: default avatarRoss Brattain <ross.b.brattain@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      ff886dfc
    • Alexander Duyck's avatar
      ixgbe: Move interrupt related values out of ring and into q_vector · bd198058
      Alexander Duyck authored
      This change moves work_limit, total_packets, and total_bytes into the ring
      container struct of the q_vector.  The advantage of this is that it should
      reduce the size of memory used in the event of multiple rings being
      assigned to a single q_vector.  In addition it should help to reduce the
      total workload for calculating itr since now total_packets and total_bytes
      will be the total work done of the interrupt instead of for the ring.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Tested-by: default avatarRoss Brattain <ross.b.brattain@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      bd198058