21 May, 2011

1 commit

  • Commit e66eed651fd1 ("list: remove prefetching from regular list
    iterators") removed the include of prefetch.h from list.h, which
    uncovered several cases that had apparently relied on that rather
    obscure header file dependency.

    So this fixes things up a bit, using

    grep -L linux/prefetch.h $(git grep -l '[^a-z_]prefetchw*(' -- '*.[ch]')
    grep -L 'prefetchw*(' $(git grep -l 'linux/prefetch.h' -- '*.[ch]')

    to guide us in finding files that either need
    inclusion, or have it despite not needing it.

    There are more of them around (mostly network drivers), but this gets
    many core ones.

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

    Linus Torvalds
     

20 May, 2011

39 commits

  • 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
     
  • …stable/mmu.bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/irq' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: do not clear and mask evtchns in __xen_evtchn_do_upcall

    * 'stable/p2m.bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/p2m: Create entries in the P2M_MFN trees's to track 1-1 mappings

    * 'stable/e820.bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/setup: Fix for incorrect xen_extra_mem_start initialization under 32-bit
    xen/setup: Ignore E820_UNUSABLE when setting 1-1 mappings.

    * 'stable/mmu.bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen mmu: fix a race window causing leave_mm BUG()

    Linus Torvalds
     
  • …t.kernel.org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/balloon.cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/balloon: Move dec_totalhigh_pages() from __balloon_append() to balloon_append()
    xen/balloon: Clarify credit calculation
    xen/balloon: Simplify HVM integration
    xen/balloon: Use PageHighMem() for high memory page detection

    * 'stable/general.cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    drivers/xen/sys-hypervisor: Cleanup code/data sections definitions
    arch/x86/xen/smp: Cleanup code/data sections definitions
    arch/x86/xen/time: Cleanup code/data sections definitions
    arch/x86/xen/xen-ops: Cleanup code/data sections definitions
    arch/x86/xen/mmu: Cleanup code/data sections definitions
    arch/x86/xen/setup: Cleanup code/data sections definitions
    arch/x86/xen/enlighten: Cleanup code/data sections definitions
    arch/x86/xen/irq: Cleanup code/data sections definitions
    xen: tidy up whitespace in drivers/xen/Makefile

    Linus Torvalds
     
  • …rnel.org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/backend.base.v3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/pci: Fix compiler error when CONFIG_XEN_PRIVILEGED_GUEST is not set.
    xen/p2m: Add EXPORT_SYMBOL_GPL to the M2P override functions.
    xen/p2m/m2p/gnttab: Support GNTMAP_host_map in the M2P override.
    xen/irq: The Xen hypervisor cleans up the PIRQs if the other domain forgot.
    xen/irq: Export 'xen_pirq_from_irq' function.
    xen/irq: Add support to check if IRQ line is shared with other domains.
    xen/irq: Check if the PCI device is owned by a domain different than DOMID_SELF.
    xen/pci: Add xen_[find|register|unregister]_device_domain_owner functions.

    * 'stable/gntalloc.v7' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/gntdev,gntalloc: Remove unneeded VM flags

    Linus Torvalds
     
  • * 'stable/broadcom.ibft' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6:
    iscsi_ibft: search for broadcom specific ibft sign (v2)

    Linus Torvalds
     
  • * 'move-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ] Move x86 drivers to drivers/cpufreq/

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ] remove redundant sprintf from request_module call.
    [CPUFREQ] cpufreq_stats.c: Fixed brace coding style issue
    [CPUFREQ] Fix memory leak in cpufreq_stat
    [CPUFREQ] cpufreq.h: Fix some checkpatch.pl coding style issues.
    [CPUFREQ] use dynamic debug instead of custom infrastructure
    [CPUFREQ] CPU hotplug, re-create sysfs directory and symlinks
    [CPUFREQ] Fix _OSC UUID in pcc-cpufreq

    Linus Torvalds
     
  • Signed-off-by: Dave Jones

    Dave Jones
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
    params.c: Use new strtobool function to process boolean inputs
    debugfs: move to new strtobool
    Add a strtobool function matching semantics of existing in kernel equivalents
    modpost: Update 64k section support for binutils 2.18.50
    module: Use binary search in lookup_symbol()
    module: Use the binary search for symbols resolution
    lib: Add generic binary search function to the kernel.
    module: Sort exported symbols
    module: each_symbol_section instead of each_symbol
    module: split unset_section_ro_nx function.
    module: undo module RONX protection correctly.
    module: zero mod->init_ro_size after init is freed.
    minor ANSI prototype sparse fix
    module: reorder kparam_array to remove alignment padding on 64 bit builds
    module: remove 64 bit alignment padding from struct module with CONFIG_TRACE*
    module: do not hide __modver_version_show declaration behind ifdef
    module: deal with alignment issues in built-in module versions

    Linus Torvalds
     
  • * 'docs-move' of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs:
    Correct occurrences of - Documentation/kvm/ to Documentation/virtual/kvm - Documentation/uml/ to Documentation/virtual/uml - Documentation/lguest/ to Documentation/virtual/lguest throughout the kernel source tree.
    Add a 00-INDEX file to Documentation/virtual Remove uml from the top level 00-INDEX file.
    Move kvm, uml, and lguest subdirectories under a common "virtual" directory, I.E:

    Linus Torvalds
     
  • This reverts commit e59fb3120becfb36b22ddb8bd27d065d3cdca499.

    This reversion was due to (extreme) boot-time slowdowns on SPARC seen by
    Yinghai Lu and on x86 by Ingo
    .
    This is a non-trivial reversion due to intervening commits.

    Conflicts:

    Documentation/RCU/trace.txt
    kernel/rcutree.c

    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     
  • This is removes the use of software prefetching from the regular list
    iterators. We don't want it. If you do want to prefetch in some
    iterator of yours, go right ahead. Just don't expect the iterator to do
    it, since normally the downsides are bigger than the upsides.

    It also replaces with , because the
    use of LIST_POISON ends up needing it. is sadly not
    self-contained, and including prefetch.h just happened to hide that.

    Suggested by David Miller (networking has a lot of regular lists that
    are often empty or a single entry, and prefetching is not going to do
    anything but add useless instructions).

    Acked-by: Ingo Molnar
    Acked-by: David S. Miller
    Cc: linux-arch@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • They not only increase the code footprint, they actually make things
    slower rather than faster. On internationally acclaimed benchmarks
    ("make -j16" on an already fully built kernel source tree) the hlist
    prefetching slows down the build by up to 1%.

    (Almost all of it comes from hlist_for_each_entry_rcu() as used by
    avc_has_perm_noaudit(), which is very hot due to all the pathname
    lookups to see if there is anything to do).

    The cause seems to be two-fold:

    - on at least some Intel cores, prefetch(NULL) ends up with some
    microarchitectural stall due to the TLB miss that it incurs. The
    hlist case triggers this very commonly, since the NULL pointer is the
    last entry in the list.

    - the prefetch appears to cause more D$ activity, probably because it
    prefetches hash list entries that are never actually used (because we
    ended the search early due to a hit).

    Regardless, the numbers clearly say that the implicit prefetching is
    simply a bad idea. If some _particular_ user of the hlist iterators
    wants to prefetch the next list entry, they can do so themselves
    explicitly, rather than depend on all list iterators doing so
    implicitly.

    Acked-by: Ingo Molnar
    Acked-by: David S. Miller
    Cc: linux-arch@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • …stedt/linux-2.6-trace into perf/core

    Ingo Molnar
     
  • …rostedt/linux-2.6-trace into perf/core

    Ingo Molnar