23 Jul, 2011

32 commits

  • * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    rcu: Fix wrong check in list_splice_init_rcu()
    net,rcu: Convert call_rcu(xt_rateest_free_rcu) to kfree_rcu()
    sysctl,rcu: Convert call_rcu(free_head) to kfree
    vmalloc,rcu: Convert call_rcu(rcu_free_vb) to kfree_rcu()
    vmalloc,rcu: Convert call_rcu(rcu_free_va) to kfree_rcu()
    ipc,rcu: Convert call_rcu(ipc_immediate_free) to kfree_rcu()
    ipc,rcu: Convert call_rcu(free_un) to kfree_rcu()
    security,rcu: Convert call_rcu(sel_netport_free) to kfree_rcu()
    security,rcu: Convert call_rcu(sel_netnode_free) to kfree_rcu()
    ia64,rcu: Convert call_rcu(sn_irq_info_free) to kfree_rcu()
    block,rcu: Convert call_rcu(disk_free_ptbl_rcu_cb) to kfree_rcu()
    scsi,rcu: Convert call_rcu(fc_rport_free_rcu) to kfree_rcu()
    audit_tree,rcu: Convert call_rcu(__put_tree) to kfree_rcu()
    security,rcu: Convert call_rcu(whitelist_item_free) to kfree_rcu()
    md,rcu: Convert call_rcu(free_conf) to kfree_rcu()

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    lockdep: Fix trace_[soft,hard]irqs_[on,off]() recursion
    printk: Fix console_sem vs logbuf_lock unlock race
    printk: Release console_sem after logbuf_lock

    Linus Torvalds
     
  • …el/git/tip/linux-2.6-tip

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    lockdep: Fix lockdep_no_validate against IRQ states
    mutex: Make mutex_destroy() an inline function
    plist: Remove the need to supply locks to plist heads
    lockup detector: Fix reference to the non-existent CONFIG_DETECT_SOFTLOCKUP option

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    iommu/core: Fix build with INTR_REMAP=y && CONFIG_DMAR=n
    iommu/amd: Don't use MSI address range for DMA addresses
    iommu/amd: Move missing parts to drivers/iommu
    iommu: Move iommu Kconfig entries to submenu
    x86/ia64: intel-iommu: move to drivers/iommu/
    x86: amd_iommu: move to drivers/iommu/
    msm: iommu: move to drivers/iommu/
    drivers: iommu: move to a dedicated folder
    x86/amd-iommu: Store device alias as dev_data pointer
    x86/amd-iommu: Search for existind dev_data before allocting a new one
    x86/amd-iommu: Allow dev_data->alias to be NULL
    x86/amd-iommu: Use only dev_data in low-level domain attach/detach functions
    x86/amd-iommu: Use only dev_data for dte and iotlb flushing routines
    x86/amd-iommu: Store ATS state in dev_data
    x86/amd-iommu: Store devid in dev_data
    x86/amd-iommu: Introduce global dev_data_list
    x86/amd-iommu: Remove redundant device_flush_dte() calls
    iommu-api: Add missing header file

    Fix up trivial conflicts (independent additions close to each other) in
    drivers/Makefile and include/linux/pci.h

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (51 commits)
    PM: Improve error code of pm_notifier_call_chain()
    PM: Add "RTC" to PM trace time stamps to avoid confusion
    PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem
    PM / Suspend: Add .suspend_again() callback to suspend_ops
    PM / OPP: Introduce function to free cpufreq table
    ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active
    PM / Domains: Take .power_off() error code into account
    ARM / shmobile: Use genpd_queue_power_off_work()
    ARM / shmobile: Use pm_genpd_poweroff_unused()
    PM / Domains: Introduce function to power off all unused PM domains
    OMAP: PM: disable idle on suspend for GPIO and UART
    OMAP: PM: omap_device: add API to disable idle on suspend
    OMAP: PM: omap_device: add system PM methods for PM domain handling
    OMAP: PM: omap_device: conditionally use PM domain runtime helpers
    PM / Runtime: Add new helper function: pm_runtime_status_suspended()
    PM / Domains: Queue up power off work only if it is not pending
    PM / Domains: Improve handling of wakeup devices during system suspend
    PM / Domains: Do not restore all devices on power off error
    PM / Domains: Allow callbacks to execute all runtime PM helpers
    PM / Domains: Do not execute device callbacks under locks
    ...

    Linus Torvalds
     
  • * 'for-linus-core' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (38 commits)
    target: Bump version to v4.1.0-rc1-ml
    target: remove custom hex2bin() implementation
    target: fix typo Assoication -> Association
    target: Update QUEUE ALGORITHM MODIFIER control page default
    target: ->map_task_SG conversion to ->map_control_SG and ->map_data_SG
    target: Follow up core updates from AGrover and HCH (round 4)
    target: Eliminate usage of struct se_mem
    target: Pass 2nd param of transport_split_cdb by value
    target: Enforce 1 page max for control cdb buffer sizes
    target: Make all control CDBs scatter-gather
    target: Implement Block Device Characteristics VPD page
    target: Fix reporting of supported VPD pages
    target: Allow for built-in target modules
    tcm_fc: Convert to wake_up_process and schedule_timeout_interruptible
    tcm_fc: Makefile cleanups
    loopback: Fix memory leak in tcm_loop_make_scsi_hba()
    loopback: Remove duplicate scsi/scsi_tcq.h include
    loopback: off by one in tcm_loop_make_naa_tpg()
    target/iblock: Remove unused iblock_dev members
    target/iblock: Use request_queue->nr_request for se_device defaults
    ...

    Linus Torvalds
     
  • * 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu: Fixup __this_cpu_xchg* operations

    Linus Torvalds
     
  • * 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    workqueue: separate out drain_workqueue() from destroy_workqueue()
    workqueue: remove cancel_rearming_delayed_work[queue]()

    Linus Torvalds
     
  • * '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()/
    ...

    Linus Torvalds
     
  • * '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
    ...

    Linus Torvalds
     
  • * '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

    Linus Torvalds
     
  • * '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

    Linus Torvalds
     
  • * '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

    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.
    ...

    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
    ...

    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

    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
    ...

    Linus Torvalds
     
  • Jiri Kosina
     
  • * 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

    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

    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.

    Linus Torvalds
     
  • * 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen:pvhvm: Modpost section mismatch fix

    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.
    ...

    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()
    ...

    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

    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

    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

    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

    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
    ...

    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 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

    Linus Torvalds
     
  • Roland Dreier
     
  • 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: Mike Marciniszyn
    Signed-off-by: Roland Dreier

    Mike Marciniszyn
     

22 Jul, 2011

8 commits