22 May, 2011

1 commit

  • This will pave the way for each apic driver to be self-contained
    and eliminate the need for apic_probe[].

    Order in which apic drivers are listed in the .apicdrivers
    section is important, as this determines the apic probe order.
    And this is enforced by the ordering of apic driver files in the
    Makefile and the macros apic_driver()/apic_drivers().

    Signed-off-by: Suresh Siddha
    Tested-by: Cyrill Gorcunov
    Cc: steiner@sgi.com
    Cc: gorcunov@openvz.org
    Cc: yinghai@kernel.org
    Link: http://lkml.kernel.org/r/20110521005526.068775085@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     

20 May, 2011

39 commits

  • To eliminate code duplication.

    Signed-off-by: Cyrill Gorcunov
    Signed-off-by: Suresh Siddha
    Cc: steiner@sgi.com
    Cc: yinghai@kernel.org
    Link: http://lkml.kernel.org/r/20110519234637.591426753@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Cyrill Gorcunov
     
  • In the case of x2apic cluster mode we can group IPI register
    writes based on the cluster group instead of individual per-cpu
    destination messages.

    This reduces the apic register writes and reduces the amount of
    IPI messages (in the best case we can reduce it by a factor of
    16).

    With this change, the cost of flush_tlb_others(), with the flush
    tlb IPI being sent from a cpu in the socket-1 to all the logical
    cpus in socket-2 (on a Westmere-EX system that has 20 logical
    cpus in a socket) is 3x times better now (compared to the former
    'send one-by-one' algorithm).

    Signed-off-by: Cyrill Gorcunov
    Signed-off-by: Suresh Siddha
    Cc: steiner@sgi.com
    Cc: yinghai@kernel.org
    Link: http://lkml.kernel.org/r/20110519234637.512271057@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Cyrill Gorcunov
     
  • In the case of x2apic cluster mode, we can group IPI register
    writes based on the cluster group instead of individual per-cpu
    destination messages.

    For this purpose, track the cpu's that belong to the same x2apic
    cluster.

    Signed-off-by: Cyrill Gorcunov
    Signed-off-by: Suresh Siddha
    Cc: steiner@sgi.com
    Cc: yinghai@kernel.org
    Link: http://lkml.kernel.org/r/20110519234637.421800999@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Cyrill Gorcunov
     
  • Signed-off-by: Suresh Siddha
    Acked-by: Cyrill Gorcunov
    Cc: steiner@sgi.com
    Cc: yinghai@kernel.org
    Link: http://lkml.kernel.org/r/20110519234637.337024125@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • Use the unused probe routine in the apic driver to finalize the
    apic model selection. This cleans up the
    default_setup_apic_routing() and this probe routine in future
    can also be used for doing any apic model specific
    initialisation.

    Signed-off-by: Suresh Siddha
    Acked-by: Cyrill Gorcunov
    Cc: steiner@sgi.com
    Cc: yinghai@kernel.org
    Link: http://lkml.kernel.org/r/20110519234637.247458931@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • Signed-off-by: Suresh Siddha
    Cc: daniel.blueman@gmail.com
    Link: http://lkml.kernel.org/r/20110518233158.089978277@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • Signed-off-by: Suresh Siddha
    Cc: daniel.blueman@gmail.com
    Link: http://lkml.kernel.org/r/20110518233157.994002011@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • Signed-off-by: Suresh Siddha
    Cc: daniel.blueman@gmail.com
    Link: http://lkml.kernel.org/r/20110518233157.909013179@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • Signed-off-by: Suresh Siddha
    Cc: daniel.blueman@gmail.com
    Link: http://lkml.kernel.org/r/20110518233157.830697056@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • Introduce struct ioapic with nr_registers field.

    This will pave way for consolidating different MAX_IO_APICS
    arrays into it.

    Signed-off-by: Suresh Siddha
    Cc: daniel.blueman@gmail.com
    Link: http://lkml.kernel.org/r/20110518233157.744315519@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • Code flow for enabling interrupt-remapping has its own routines
    for saving and restoring io-apic RTE's. ioapic suspend/resume
    code flow also has similar routines. Remove the duplicate code.

    Tested-by: Daniel J Blueman
    Signed-off-by: Suresh Siddha
    Link: http://lkml.kernel.org/r/20110518233157.673130611@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • Code flow for enabling interrupt-remapping was
    allocating/freeing buffers for saving/restoring io-apic RTE's.
    ioapic suspend/resume code uses boot time allocated
    ioapic_saved_data that is a perfect match for reuse here.

    This will remove the unnecessary allocation/free of the
    temporary buffers during suspend/resume of interrupt-remapping
    enabled platforms aswell as paving the way for further code
    consolidation.

    Tested-by: Daniel J Blueman
    Signed-off-by: Suresh Siddha
    Link: http://lkml.kernel.org/r/20110518233157.574469296@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • This allows re-using this buffer for enabling
    interrupt-remapping during boot and resume. And thus allow for
    consolidating the code between ioapic suspend/resume and
    interrupt-remapping.

    Tested-by: Daniel J Blueman
    Signed-off-by: Suresh Siddha
    Link: http://lkml.kernel.org/r/20110518233157.481404505@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • Fix a potential deadlock when resuming; here the calling
    function has disabled interrupts, so we cannot sleep.

    Change the memory allocation flag from GFP_KERNEL to GFP_ATOMIC.

    TODO: We can do away with this memory allocation during resume
    by reusing the ioapic suspend/resume code that uses boot time
    allocated buffers, but we want to keep this -stable patch
    simple.

    Signed-off-by: Daniel J Blueman
    Signed-off-by: Suresh Siddha
    Cc: # v2.6.38/39
    Link: http://lkml.kernel.org/r/20110518233157.385970138@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar

    Daniel J Blueman
     
  • There is no point in counting hits - we can calculate it from the number
    of lookups and misses.

    This makes the avc statistics a bit smaller, and makes the code
    generation better too.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • You can turn off the avc cache stats, but distributions seem to not do
    that (perhaps because several performance tuning how-to's talk about the
    avc cache statistics).

    Which is sad, because the code it generates is truly horrendous, with
    the statistics update being sandwitched between get_cpu/put_cpu which in
    turn causes preemption disables etc. We're talking ten+ instructions
    just to increment a per-cpu variable in some pretty hot code.

    Fix the craziness by just using 'this_cpu_inc()' instead. Suddenly we
    only need a single 'inc' instruction to increment the statistics. This
    is quite noticeable in the incredibly hot avc_has_perm_noaudit()
    function (which triggers all the statistics by virtue of doing an
    avc_lookup() call).

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • …/gregkh/driver-core-2.6

    * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (44 commits)
    debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning
    sysfs: remove "last sysfs file:" line from the oops messages
    drivers/base/memory.c: fix warning due to "memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION"
    memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION
    SYSFS: Fix erroneous comments for sysfs_update_group().
    driver core: remove the driver-model structures from the documentation
    driver core: Add the device driver-model structures to kerneldoc
    Translated Documentation/email-clients.txt
    RAW driver: Remove call to kobject_put().
    reboot: disable usermodehelper to prevent fs access
    efivars: prevent oops on unload when efi is not enabled
    Allow setting of number of raw devices as a module parameter
    Introduce CONFIG_GOOGLE_FIRMWARE
    driver: Google Memory Console
    driver: Google EFI SMI
    x86: Better comments for get_bios_ebda()
    x86: get_bios_ebda_length()
    misc: fix ti-st build issues
    params.c: Use new strtobool function to process boolean inputs
    debugfs: move to new strtobool
    ...

    Fix up trivial conflicts in fs/debugfs/file.c due to the same patch
    being applied twice, and an unrelated cleanup nearby.

    Linus Torvalds
     
  • This fixes these build errors on powerpc:

    In file included from arch/powerpc/mm/fault.c:18:
    include/linux/signal.h:239: error: 'struct task_struct' declared inside parameter list
    include/linux/signal.h:239: error: its scope is only this definition or declaration, which is probably not what you want
    include/linux/signal.h:240: error: 'struct task_struct' declared inside parameter list
    ..

    Exposed by commit e66eed651fd1 ("list: remove prefetching from regular
    list iterators"), which removed the include of from
    .

    Without that, linux/signal.h no longer accidentally got the declaration
    of 'struct task_struct'.

    Fix by properly declaring the struct, rather than introducing any new
    header file dependency.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (78 commits)
    Revert "rcu: Decrease memory-barrier usage based on semi-formal proof"
    net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree
    batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu
    batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()
    batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu
    net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()
    net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu()
    net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu()
    net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu()
    net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu()
    perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()
    perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()
    net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu()
    net,rcu: convert call_rcu(net_generic_release) to kfree_rcu()
    net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu()
    net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu()
    security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu()
    net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu()
    net,rcu: convert call_rcu(xps_map_release) to kfree_rcu()
    net,rcu: convert call_rcu(rps_map_release) to kfree_rcu()
    ...

    Linus Torvalds
     
  • * 'x86-smep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, cpu: Enable/disable Supervisor Mode Execution Protection
    x86, cpu: Add SMEP CPU feature in CR4
    x86, cpufeature: Add cpufeature flag for SMEP

    Linus Torvalds
     
  • …nel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Reorder reboot method preferences

    * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, setup: Fix EDD3.0 data verification.

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

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Introduce pci_map_biosrom()
    x86, olpc: Use device tree for platform identification

    Linus Torvalds
     
  • * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)
    x86, mm: Allow ZONE_DMA to be configurable
    x86, NUMA: Trim numa meminfo with max_pfn in a separate loop
    x86, NUMA: Rename setup_node_bootmem() to setup_node_data()
    x86, NUMA: Enable emulation on 32bit too
    x86, NUMA: Enable CONFIG_AMD_NUMA on 32bit too
    x86, NUMA: Rename amdtopology_64.c to amdtopology.c
    x86, NUMA: Make numa_init_array() static
    x86, NUMA: Make 32bit use common NUMA init path
    x86, NUMA: Initialize and use remap allocator from setup_node_bootmem()
    x86-32, NUMA: Add @start and @end to init_alloc_remap()
    x86, NUMA: Remove long 64bit assumption from numa.c
    x86, NUMA: Enable build of generic NUMA init code on 32bit
    x86, NUMA: Move NUMA init logic from numa_64.c to numa.c
    x86-32, NUMA: Update numaq to use new NUMA init protocol
    x86-32, NUMA: Replace srat_32.c with srat.c
    x86-32, NUMA: implement temporary NUMA init shims
    x86, NUMA: Move numa_nodes_parsed to numa.[hc]
    x86-32, NUMA: Move get_memcfg_numa() into numa_32.c
    x86, NUMA: make srat.c 32bit safe
    x86, NUMA: rename srat_64.c to srat.c
    ...

    Linus Torvalds
     
  • …d 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, efi: Ensure that the entirity of a region is mapped
    x86, efi: Pass a minimal map to SetVirtualAddressMap()
    x86, efi: Merge contiguous memory regions of the same type and attribute
    x86, efi: Consolidate EFI nx control
    x86, efi: Remove virtual-mode SetVirtualAddressMap call

    * 'x86-gart-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, gart: Don't enforce GART aperture lower-bound by alignment

    * 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Don't unmask disabled irqs when migrating them
    x86: Skip migrating IRQF_PER_CPU irqs in fixup_irqs()

    * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, mce: Drop the default decoding notifier
    x86, MCE: Do not taint when handling correctable errors

    Linus Torvalds
     
  • * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, cpu: Fix detection of Celeron Covington stepping A1 and B0
    Documentation, ABI: Update L3 cache index disable text
    x86, AMD, cacheinfo: Fix L3 cache index disable checks
    x86, AMD, cacheinfo: Fix fallout caused by max3 conversion
    x86, cpu: Change NOP selection for certain Intel CPUs
    x86, cpu: Clean up and unify the NOP selection infrastructure
    x86, percpu: Use ASM_NOP4 instead of hardcoding P6_NOP4
    x86, cpu: Move AMD Elan Kconfig under "Processor family"

    Fix up trivial conflicts in alternative handling (commit dc326fca2b64
    "x86, cpu: Clean up and unify the NOP selection infrastructure" removed
    some hacky 5-byte instruction stuff, while commit d430d3d7e646 "jump
    label: Introduce static_branch() interface" renamed HAVE_JUMP_LABEL to
    CONFIG_JUMP_LABEL in the code that went away)

    Linus Torvalds
     
  • …inus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, apic: Print verbose error interrupt reason on apic=debug

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Demacro CONFIG_PARAVIRT cpu accessors

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Fix mrst sparse complaints
    x86: Fix spelling error in the memcpy() source code comment
    x86, mpparse: Remove unnecessary variable

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

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    hrtimer: Make lookup table const
    RTC: Disable CONFIG_RTC_CLASS from being built as a module
    timers: Fix alarmtimer build issues when CONFIG_RTC_CLASS=n
    timers: Remove delayed irqwork from alarmtimers implementation
    timers: Improve alarmtimer comments and minor fixes
    timers: Posix interface for alarm-timers
    timers: Introduce in-kernel alarm-timer interface
    timers: Add rb_init_node() to allow for stack allocated rb nodes
    time: Add timekeeping_inject_sleeptime

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

    * 'timers-clockevents-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: hpet: Cleanup the clockevents init and register code
    x86: Convert PIT to clockevents_config_and_register()
    clockevents: Provide interface to reconfigure an active clock event device
    clockevents: Provide combined configure and register function
    clockevents: Restructure clock_event_device members
    clocksource: Get rid of the hardcoded 5 seconds sleep time limit
    clocksource: Restructure clocksource struct members

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

    * 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    clocksource: convert mips to generic i8253 clocksource
    clocksource: convert x86 to generic i8253 clocksource
    clocksource: convert footbridge to generic i8253 clocksource
    clocksource: add common i8253 PIT clocksource
    blackfin: convert to clocksource_register_hz
    mips: convert to clocksource_register_hz/khz
    sparc: convert to clocksource_register_hz/khz
    alpha: convert to clocksource_register_hz
    microblaze: convert to clocksource_register_hz/khz
    ia64: convert to clocksource_register_hz/khz
    x86: Convert remaining x86 clocksources to clocksource_register_hz/khz
    Make clocksource name const

    Linus Torvalds
     
  • …kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits)
    sched: Fix and optimise calculation of the weight-inverse
    sched: Avoid going ahead if ->cpus_allowed is not changed
    sched, rt: Update rq clock when unthrottling of an otherwise idle CPU
    sched: Remove unused parameters from sched_fork() and wake_up_new_task()
    sched: Shorten the construction of the span cpu mask of sched domain
    sched: Wrap the 'cfs_rq->nr_spread_over' field with CONFIG_SCHED_DEBUG
    sched: Remove unused 'this_best_prio arg' from balance_tasks()
    sched: Remove noop in alloc_rt_sched_group()
    sched: Get rid of lock_depth
    sched: Remove obsolete comment from scheduler_tick()
    sched: Fix sched_domain iterations vs. RCU
    sched: Next buddy hint on sleep and preempt path
    sched: Make set_*_buddy() work on non-task entities
    sched: Remove need_migrate_task()
    sched: Move the second half of ttwu() to the remote cpu
    sched: Restructure ttwu() some more
    sched: Rename ttwu_post_activation() to ttwu_do_wakeup()
    sched: Remove rq argument from ttwu_stat()
    sched: Remove rq->lock from the first half of ttwu()
    sched: Drop rq->lock from sched_exec()
    ...

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Fix rt_rq runtime leakage bug

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

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (107 commits)
    perf stat: Add more cache-miss percentage printouts
    perf stat: Add -d -d and -d -d -d options to show more CPU events
    ftrace/kbuild: Add recordmcount files to force full build
    ftrace: Add self-tests for multiple function trace users
    ftrace: Modify ftrace_set_filter/notrace to take ops
    ftrace: Allow dynamically allocated function tracers
    ftrace: Implement separate user function filtering
    ftrace: Free hash with call_rcu_sched()
    ftrace: Have global_ops store the functions that are to be traced
    ftrace: Add ops parameter to ftrace_startup/shutdown functions
    ftrace: Add enabled_functions file
    ftrace: Use counters to enable functions to trace
    ftrace: Separate hash allocation and assignment
    ftrace: Create a global_ops to hold the filter and notrace hashes
    ftrace: Use hash instead for FTRACE_FL_FILTER
    ftrace: Replace FTRACE_FL_NOTRACE flag with a hash of ignored functions
    perf bench, x86: Add alternatives-asm.h wrapper
    x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address limit
    x86, mem: memset_64.S: Optimize memset by enhanced REP MOVSB/STOSB
    x86, mem: memmove_64.S: Optimize memmove by enhanced REP MOVSB/STOSB
    ...

    Linus Torvalds
     
  • * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    irq: Export functions to allow modular irq drivers
    genirq: Uninline and sanity check generic_handle_irq()
    genirq: Remove pointless ifdefs
    genirq: Make generic irq chip depend on CONFIG_GENERIC_IRQ_CHIP
    genirq: Add chip suspend and resume callbacks
    genirq: Implement a generic interrupt chip
    genirq: Support per-IRQ thread disabling.
    genirq: irq_desc: Document preflow_handler and affinity_hint
    genirq: Update DocBook comments
    genirq: Forgotten updates/deletions after removal of compat code

    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:
    seqlock: Don't smp_rmb in seqlock reader spin loop
    watchdog, hung_task_timeout: Add Kconfig configurable default
    lockdep: Remove cmpxchg to update nr_chain_hlocks
    lockdep: Print a nicer description for simple irq lock inversions
    lockdep: Replace "Bad BFS generated tree" message with something less cryptic
    lockdep: Print a nicer description for irq inversion bugs
    lockdep: Print a nicer description for simple deadlocks
    lockdep: Print a nicer description for normal deadlocks
    lockdep: Print a nicer description for irq lock inversions

    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:
    x86, gart: Rename pci-gart_64.c to amd_gart_64.c
    x86/amd-iommu: Use threaded interupt handler
    arch/x86/kernel/pci-iommu_table.c: Convert sprintf_symbol to %pS
    x86/amd-iommu: Add support for invalidate_all command
    x86/amd-iommu: Add extended feature detection
    x86/amd-iommu: Add ATS enable/disable code
    x86/amd-iommu: Add flag to indicate IOTLB support
    x86/amd-iommu: Flush device IOTLB if ATS is enabled
    x86/amd-iommu: Select PCI_IOV with AMD IOMMU driver
    PCI: Move ATS declarations in seperate header file
    dma-debug: print information about leaked entry
    x86/amd-iommu: Flush all internal TLBs when IOMMUs are enabled
    x86/amd-iommu: Rename iommu_flush_device
    x86/amd-iommu: Improve handling of full command buffer
    x86/amd-iommu: Rename iommu_flush* to domain_flush*
    x86/amd-iommu: Remove command buffer resetting logic
    x86/amd-iommu: Cleanup completion-wait handling
    x86/amd-iommu: Cleanup inv_pages command handling
    x86/amd-iommu: Move inv-dte command building to own function
    x86/amd-iommu: Move compl-wait command building to own function

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (34 commits)
    PM: Introduce generic prepare and complete callbacks for subsystems
    PM: Allow drivers to allocate memory from .prepare() callbacks safely
    PM: Remove CONFIG_PM_VERBOSE
    Revert "PM / Hibernate: Reduce autotuned default image size"
    PM / Hibernate: Add sysfs knob to control size of memory for drivers
    PM / Wakeup: Remove useless synchronize_rcu() call
    kmod: always provide usermodehelper_disable()
    PM / ACPI: Remove acpi_sleep=s4_nonvs
    PM / Wakeup: Fix build warning related to the "wakeup" sysfs file
    PM: Print a warning if firmware is requested when tasks are frozen
    PM / Runtime: Rework runtime PM handling during driver removal
    Freezer: Use SMP barriers
    PM / Suspend: Do not ignore error codes returned by suspend_enter()
    PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset
    PM: Revert "driver core: platform_bus: allow runtime override of dev_pm_ops"
    OMAP1 / PM: Use generic clock manipulation routines for runtime PM
    PM: Remove sysdev suspend, resume and shutdown operations
    PM / PowerPC: Use struct syscore_ops instead of sysdevs for PM
    PM / UNICORE32: Use struct syscore_ops instead of sysdevs for PM
    PM / AVR32: Use struct syscore_ops instead of sysdevs for PM
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IB/qib: Use pci_dev->revision
    RDMA/iwcm: Get rid of enum iw_cm_event_status
    IB/ipath: Use pci_dev->revision, again
    IB/qib: Prevent driver hang with unprogrammed boards
    RDMA/cxgb4: EEH errors can hang the driver
    RDMA/cxgb4: Reset wait condition atomically
    RDMA/cxgb4: Fix missing parentheses
    RDMA/cxgb4: Initialization errors can cause crash
    RDMA/cxgb4: Don't change QP state outside EP lock
    RDMA/cma: Add an ID_REUSEADDR option
    RDMA/cma: Fix handling of IPv6 addressing in cma_use_port

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-2.6-cm:
    kmemleak: Initialise kmemleak after debug_objects_mem_init()
    kmemleak: Select DEBUG_FS unconditionally in DEBUG_KMEMLEAK
    kmemleak: Do not return a pointer to an object that kmemleak did not get

    Linus Torvalds
     
  • * 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus: (48 commits)
    MIPS: Move arch_get_unmapped_area and gang to new file.
    MIPS: Cleanup arch_get_unmapped_area
    MIPS: Octeon: Don't request interrupts for unused IPI mailbox bits.
    Octeon: Fix interrupt irq settings for performance counters.
    MIPS: Fix build warnings on defconfigs
    MIPS: Lemote 2F, Malta: Fix build warning
    MIPS: Set ELF AT_PLATFORM string for Loongson2 processors
    MIPS: Set ELF AT_PLATFORM string for BMIPS processors
    MIPS: Introduce set_elf_platform() helper function
    MIPS: JZ4740: setup: Autodetect physical memory.
    MIPS: BCM47xx: Fix MAC address parsing.
    MIPS: BCM47xx: Extend the filling of SPROM from NVRAM
    MIPS: BCM47xx: Register SSB fallback sprom callback
    MIPS: BCM47xx: Extend bcm47xx_fill_sprom with prefix.
    SSB: Change fallback sprom to callback mechanism.
    MIPS: Alchemy: Clean up GPIO registers and accessors
    MIPS: Alchemy: Cleanup DMA addresses
    MIPS: Alchemy: Rewrite ethernet platform setup
    MIPS: Alchemy: Rewrite UART setup and constants.
    MIPS: Alchemy: Convert dbdma.c to syscore_ops
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    input/atari: Fix mouse movement and button mapping
    input/atari: Fix atarimouse init
    input/atari: Use the correct mouse interrupt hook
    m68k/atari: Do not use "/" in interrupt names
    m68k: unistd - Comment out definitions for unimplemented syscalls
    m68k: Really wire up sys_pselect6 and sys_ppoll
    m68k: Merge mmu and non-mmu versions of sys_call_table
    MAINTAINERS: Roman Zippel has been MIA for several years.
    m68k: bitops - Never step beyond the end of the bitmap
    m68k: bitops - offset == ((long)p - (long)vaddr) * 8

    Linus Torvalds