1. 23 7月, 2011 18 次提交
    • L
      Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6 · c7c85184
      Linus Torvalds 提交于
      * '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
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · ece236ce
      Linus Torvalds 提交于
      * '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
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 · 441c196e
      Linus Torvalds 提交于
      * '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
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 951cc93a
      Linus Torvalds 提交于
      * 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
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus · a7e1aabb
      Linus Torvalds 提交于
      * 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
    • L
      Merge branch 'stable/drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen · 111ad119
      Linus Torvalds 提交于
      * '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
    • L
      Merge branch 'stable/pci.cleanups.v1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen · 997271cf
      Linus Torvalds 提交于
      * '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
    • L
      Merge branch 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen · 896d0179
      Linus Torvalds 提交于
      * 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen:pvhvm: Modpost section mismatch fix
      896d0179
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 0df55ea5
      Linus Torvalds 提交于
      * '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
    • L
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · c1f792a5
      Linus Torvalds 提交于
      * '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
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm · 6aaf4404
      Linus Torvalds 提交于
      * '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
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus · ba1f9db9
      Linus Torvalds 提交于
      * '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
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw · 49302baa
      Linus Torvalds 提交于
      * 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
    • L
      Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 · eadc3875
      Linus Torvalds 提交于
      * '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
    • L
      Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 · 59a7ac12
      Linus Torvalds 提交于
      * '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
    • L
      Merge branch 'slab-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 · f99b7880
      Linus Torvalds 提交于
      * '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
    • R
    • M
      IB/qib: Defer HCA error events to tasklet · e67306a3
      Mike Marciniszyn 提交于
      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: NMike Marciniszyn <mike.marciniszyn@qlogic.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      e67306a3
  2. 22 7月, 2011 22 次提交