1. 23 7月, 2011 33 次提交
    • S
      bridge: notifier called with the wrong device · 56139fc5
      stephen hemminger 提交于
      If a new device is added to a bridge, the ethernet address of the
      bridge network device may change. When the address changes, the
      appropriate callback is called, but with the wrong device argument.
      The address of the bridge device (ie br0) changes not the address
      of the device being passed to add_if (ie eth0).
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56139fc5
    • S
      bridge: ignore bogus STP config packets · 0652cac2
      stephen hemminger 提交于
      If the message_age is already greater than the max_age, then the
      BPDU is bogus. Linux won't generate BPDU, but conformance tester
      or buggy implementation might.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0652cac2
    • S
      bridge: send proper message_age in config BPDU · 0c03150e
      stephen hemminger 提交于
      A bridge topology with three systems:
      
            +------+  +------+
            | A(2) |--| B(1) |
            +------+  +------+
                 \    /
                +------+
                | C(3) |
                +------+
      
      What is supposed to happen:
       * bridge with the lowest ID is elected root (for example: B)
       * C detects that A->C is higher cost path and puts in blocking state
      
      What happens. Bridge with lowest id (B) is elected correctly as
      root and things start out fine initially. But then config BPDU
      doesn't get transmitted from A -> C. Because of that
      the link from A-C is transistioned to the forwarding state.
      
      The root cause of this is that the configuration messages
      is generated with bogus message age, and dropped before
      sending.
      
      In the standardmessage_age is supposed to be:
        the time since the generation of the Configuration BPDU by
        the Root that instigated the generation of this Configuration BPDU.
      
      Reimplement this by recording the timestamp (age + jiffies) when
      recording config information. The old code incorrectly used the time
      elapsed on the ageing timer which was incorrect.
      
      See also:
        https://bugzilla.vyatta.com/show_bug.cgi?id=7164Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0c03150e
    • S
      sbni: use pci_dev->subsystem_device · 781223a1
      Sergei Shtylyov 提交于
      The driver reads PCI subsystem ID from the PCI configuration register while it's
      already stored by the PCI subsystem in the 'subsystem_device' field of 'struct
      pci_dev'...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      781223a1
    • S
      r8169: use pci_dev->subsystem_{vendor|device} · ccbae55e
      Sergei Shtylyov 提交于
      The driver reads PCI subsystem IDs from the PCI configuration registers while
      they are already stored by the PCI subsystem in the 'subsystem_{vendor|device}'
      fields of 'struct pci_dev'...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ccbae55e
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 · 431bf99d
      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
        ...
      431bf99d
    • L
      Merge branch 'for-linus-core' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 72f96e0e
      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
        ...
      72f96e0e
    • L
      Merge branch 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 17413f5a
      Linus Torvalds 提交于
      * 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: Fixup __this_cpu_xchg* operations
      17413f5a
    • L
      Merge branch 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 5a791ea4
      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]()
      5a791ea4
    • L
      Merge branch 'ptrace' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc · 8209f53d
      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()/
        ...
      8209f53d
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 22a3b977
      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
        ...
      22a3b977
    • L
      Merge branch 'of-pci' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · acb41c0f
      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
      acb41c0f
    • L
      Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 · 8181780c
      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
      8181780c
    • L
      Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6 · 7235dd74
      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
      7235dd74
    • 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
    • J
      a91f423e
    • 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 7 次提交