1. 20 Feb, 2013 10 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 121027a7
      Linus Torvalds authored
      Pull two x86 kernel build changes from Ingo Molnar:
       "The first change modifies how 'make oldconfig' works on cross-bitness
        situations on x86.  It was felt the new behavior of preserving the
        bitness of the .config is more logical.  This is a leftover of the
        merge.
      
        The second change eliminates a Perl warning.  (There's another, more
        complete fix resulting of this warning fix, which second fix in flight
        to you via the kbuild tree, which will remove the timeconst.pl script
        altogether.)"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timeconst.pl: Eliminate Perl warning
        x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT
      121027a7
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5abcd76f
      Linus Torvalds authored
      Pull x86 bootup changes from Ingo Molnar:
       "Deal with bootloaders which fail to initialize unknown fields in
        boot_params to zero, by sanitizing boot params passed in.
      
        This unbreaks versions of kexec-utils.  Other bootloaders do not
        appear to show sensitivity to this change, but it's a possibility for
        breakage nevertheless."
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, boot: Sanitize boot_params if not zeroed on creation
      5abcd76f
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a57ed936
      Linus Torvalds authored
      Pull x86/asm changes from Ingo Molnar:
       "The biggest change (by line count) is the unification of the XOR code
        and then the introduction of an additional SSE based XOR assembly
        method.
      
        The other bigger change is the head_32.S rework/cleanup by Borislav
        Petkov.
      
        Last but not least there's the usual laundry list of small but
        dangerous (and hopefully perfectly tested) changes to subtle low level
        x86 code, plus cleanups."
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, head_32: Give the 6 label a real name
        x86, head_32: Remove second CPUID detection from default_entry
        x86: Detect CPUID support early at boot
        x86, head_32: Remove i386 pieces
        x86: Require MOVBE feature in cpuid when we use it
        x86: Enable ARCH_USE_BUILTIN_BSWAP
        x86/xor: Add alternative SSE implementation only prefetching once per 64-byte line
        x86/xor: Unify SSE-base xor-block routines
        x86: Fix a typo
        x86/mm: Fix the argument passed to sync_global_pgds()
        x86/mm: Convert update_mmu_cache() and update_mmu_cache_pmd() to functions
        ix86: Tighten asmlinkage_protect() constraints
      a57ed936
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5800700f
      Linus Torvalds authored
      Pull x86/apic changes from Ingo Molnar:
       "Main changes:
      
         - Multiple MSI support added to the APIC, PCI and AHCI code - acked
           by all relevant maintainers, by Alexander Gordeev.
      
           The advantage is that multiple AHCI ports can have multiple MSI
           irqs assigned, and can thus spread to multiple CPUs.
      
           [ Drivers can make use of this new facility via the
             pci_enable_msi_block_auto() method ]
      
         - x86 IOAPIC code from interrupt remapping cleanups from Joerg
           Roedel:
      
           These patches move all interrupt remapping specific checks out of
           the x86 core code and replaces the respective call-sites with
           function pointers.  As a result the interrupt remapping code is
           better abstraced from x86 core interrupt handling code.
      
         - Various smaller improvements, fixes and cleanups."
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
        x86/intel/irq_remapping: Clean up x2apic opt-out security warning mess
        x86, kvm: Fix intialization warnings in kvm.c
        x86, irq: Move irq_remapped out of x86 core code
        x86, io_apic: Introduce eoi_ioapic_pin call-back
        x86, msi: Introduce x86_msi.compose_msi_msg call-back
        x86, irq: Introduce setup_remapped_irq()
        x86, irq: Move irq_remapped() check into free_remapped_irq
        x86, io-apic: Remove !irq_remapped() check from __target_IO_APIC_irq()
        x86, io-apic: Move CONFIG_IRQ_REMAP code out of x86 core
        x86, irq: Add data structure to keep AMD specific irq remapping information
        x86, irq: Move irq_remapping_enabled declaration to iommu code
        x86, io_apic: Remove irq_remapping_enabled check in setup_timer_IRQ0_pin
        x86, io_apic: Move irq_remapping_enabled checks out of check_timer()
        x86, io_apic: Convert setup_ioapic_entry to function pointer
        x86, io_apic: Introduce set_affinity function pointer
        x86, msi: Use IRQ remapping specific setup_msi_irqs routine
        x86, hpet: Introduce x86_msi_ops.setup_hpet_msi
        x86, io_apic: Introduce x86_io_apic_ops.print_entries for debugging
        x86, io_apic: Introduce x86_io_apic_ops.disable()
        x86, apic: Mask IO-APIC and PIC unconditionally on LAPIC resume
        ...
      5800700f
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 266d7ad7
      Linus Torvalds authored
      Pull timer changes from Ingo Molnar:
       "Main changes:
      
         - ntp: Add CONFIG_RTC_SYSTOHC: a generic RTC driver facility
           complementing the existing CONFIG_RTC_HCTOSYS, which uses NTP to
           keep the hardware clock updated.
      
         - posix-timers: Fix clock_adjtime to always return timex data on
           success.  This is changing the ABI, but no breakage was expected
           and found - caution is warranted nevertheless.
      
         - platform persistent clock improvements/cleanups.
      
         - clockevents: refactor timer broadcast handling to be more generic
           and less duplicated with matching architecture code (mostly ARM
           motivated.)
      
         - various fixes and cleanups"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timers/x86/hpet: Use HPET_COUNTER to specify the hpet counter in vread_hpet()
        posix-cpu-timers: Fix nanosleep task_struct leak
        clockevents: Fix generic broadcast for FEAT_C3STOP
        time, Fix setting of hardware clock in NTP code
        hrtimer: Prevent hrtimer_enqueue_reprogram race
        clockevents: Add generic timer broadcast function
        clockevents: Add generic timer broadcast receiver
        timekeeping: Switch HAS_PERSISTENT_CLOCK to ALWAYS_USE_PERSISTENT_CLOCK
        x86/time/rtc: Don't print extended CMOS year when reading RTC
        x86: Select HAS_PERSISTENT_CLOCK on x86
        timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option
        rtc: Skip the suspend/resume handling if persistent clock exist
        timekeeping: Add persistent_clock_exist flag
        posix-timers: Fix clock_adjtime to always return timex data on success
        Round the calculated scale factor in set_cyc2ns_scale()
        NTP: Add a CONFIG_RTC_SYSTOHC configuration
        MAINTAINERS: Update John Stultz's email
        time: create __getnstimeofday for WARNless calls
      266d7ad7
    • Linus Torvalds's avatar
      Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bcbd818c
      Linus Torvalds authored
      Pull preparatory smp/hotplug patches from Ingo Molnar:
       "Some early preparatory changes for the WIP hotplug rework by Thomas
        Gleixner."
      
      * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        stop_machine: Use smpboot threads
        stop_machine: Store task reference in a separate per cpu variable
        smpboot: Allow selfparking per cpu threads
      bcbd818c
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d652e1eb
      Linus Torvalds authored
      Pull scheduler changes from Ingo Molnar:
       "Main changes:
      
         - scheduler side full-dynticks (user-space execution is undisturbed
           and receives no timer IRQs) preparation changes that convert the
           cputime accounting code to be full-dynticks ready, from Frederic
           Weisbecker.
      
         - Initial sched.h split-up changes, by Clark Williams
      
         - select_idle_sibling() performance improvement by Mike Galbraith:
      
              " 1 tbench pair (worst case) in a 10 core + SMT package:
      
                pre   15.22 MB/sec 1 procs
                post 252.01 MB/sec 1 procs "
      
        - sched_rr_get_interval() ABI fix/change.  We think this detail is not
          used by apps (so it's not an ABI in practice), but lets keep it
          under observation.
      
        - misc RT scheduling cleanups, optimizations"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        sched/rt: Add <linux/sched/rt.h> header to <linux/init_task.h>
        cputime: Remove irqsave from seqlock readers
        sched, powerpc: Fix sched.h split-up build failure
        cputime: Restore CPU_ACCOUNTING config defaults for PPC64
        sched/rt: Move rt specific bits into new header file
        sched/rt: Add a tuning knob to allow changing SCHED_RR timeslice
        sched: Move sched.h sysctl bits into separate header
        sched: Fix signedness bug in yield_to()
        sched: Fix select_idle_sibling() bouncing cow syndrome
        sched/rt: Further simplify pick_rt_task()
        sched/rt: Do not account zero delta_exec in update_curr_rt()
        cputime: Safely read cputime of full dynticks CPUs
        kvm: Prepare to add generic guest entry/exit callbacks
        cputime: Use accessors to read task cputime stats
        cputime: Allow dynamic switch between tick/virtual based cputime accounting
        cputime: Generic on-demand virtual cputime accounting
        cputime: Move default nsecs_to_cputime() to jiffies based cputime file
        cputime: Librarize per nsecs resolution cputime definitions
        cputime: Avoid multiplication overflow on utime scaling
        context_tracking: Export context state for generic vtime
        ...
      
      Fix up conflict in kernel/context_tracking.c due to comment additions.
      d652e1eb
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8f55cea4
      Linus Torvalds authored
      Pull perf changes from Ingo Molnar:
       "There are lots of improvements, the biggest changes are:
      
        Main kernel side changes:
      
         - Improve uprobes performance by adding 'pre-filtering' support, by
           Oleg Nesterov.
      
         - Make some POWER7 events available in sysfs, equivalent to what was
           done on x86, from Sukadev Bhattiprolu.
      
         - tracing updates by Steve Rostedt - mostly misc fixes and smaller
           improvements.
      
         - Use perf/event tracing to report PCI Express advanced errors, by
           Tony Luck.
      
         - Enable northbridge performance counters on AMD family 15h, by Jacob
           Shin.
      
         - This tracing commit:
      
              tracing: Remove the extra 4 bytes of padding in events
      
           changes the ABI.  All involved parties (PowerTop in particular)
           seem to agree that it's safe to do now with the introduction of
           libtraceevent, but the devil is in the details ...
      
        Main tooling side changes:
      
         - Add 'event group view', from Namyung Kim:
      
           To use it, 'perf record' should group events when recording.  And
           then perf report parses the saved group relation from file header
           and prints them together if --group option is provided.  You can
           use the 'perf evlist' command to see event group information:
      
              $ perf record -e '{ref-cycles,cycles}' noploop 1
              [ perf record: Woken up 2 times to write data ]
              [ perf record: Captured and wrote 0.385 MB perf.data (~16807 samples) ]
      
              $ perf evlist --group
              {ref-cycles,cycles}
      
           With this example, default perf report will show you each event
           separately.
      
           You can use --group option to enable event group view:
      
              $ perf report --group
              ...
              # group: {ref-cycles,cycles}
              # ========
              # Samples: 7K of event 'anon group { ref-cycles, cycles }'
              # Event count (approx.): 6876107743
              #
              #         Overhead  Command      Shared Object                      Symbol
              # ................  .......  .................  ..........................
                  99.84%  99.76%  noploop  noploop            [.] main
                   0.07%   0.00%  noploop  ld-2.15.so         [.] strcmp
                   0.03%   0.00%  noploop  [kernel.kallsyms]  [k] timerqueue_del
                   0.03%   0.03%  noploop  [kernel.kallsyms]  [k] sched_clock_cpu
                   0.02%   0.00%  noploop  [kernel.kallsyms]  [k] account_user_time
                   0.01%   0.00%  noploop  [kernel.kallsyms]  [k] __alloc_pages_nodemask
                   0.00%   0.00%  noploop  [kernel.kallsyms]  [k] native_write_msr_safe
                   0.00%   0.11%  noploop  [kernel.kallsyms]  [k] _raw_spin_lock
                   0.00%   0.06%  noploop  [kernel.kallsyms]  [k] find_get_page
                   0.00%   0.02%  noploop  [kernel.kallsyms]  [k] rcu_check_callbacks
                   0.00%   0.02%  noploop  [kernel.kallsyms]  [k] __current_kernel_time
      
           As you can see the Overhead column now contains both of ref-cycles
           and cycles and header line shows group information also - 'anon
           group { ref-cycles, cycles }'.  The output is sorted by period of
           group leader first.
      
         - Initial GTK+ annotate browser, from Namhyung Kim.
      
         - Add option for runtime switching perf data file in perf report,
           just press 's' and a menu with the valid files found in the current
           directory will be presented, from Feng Tang.
      
         - Add support to display whole group data for raw columns, from Jiri
           Olsa.
      
         - Add per processor socket count aggregation in perf stat, from
           Stephane Eranian.
      
         - Add interval printing in 'perf stat', from Stephane Eranian.
      
         - 'perf test' improvements
      
         - Add support for wildcards in tracepoint system name, from Jiri
           Olsa.
      
         - Add anonymous huge page recognition, from Joshua Zhu.
      
         - perf build-id cache now can show DSOs present in a perf.data file
           that are not in the cache, to integrate with build-id servers being
           put in place by organizations such as Fedora.
      
         - perf top now shares more of the evsel config/creation routines with
           'record', paving the way for further integration like 'top'
           snapshots, etc.
      
         - perf top now supports DWARF callchains.
      
         - Fix mmap limitations on 32-bit, fix from David Miller.
      
         - 'perf bench numa mem' NUMA performance measurement suite
      
         - ... and lots of fixes, performance improvements, cleanups and other
           improvements I failed to list - see the shortlog and git log for
           details."
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (270 commits)
        perf/x86/amd: Enable northbridge performance counters on AMD family 15h
        perf/hwbp: Fix cleanup in case of kzalloc failure
        perf tools: Fix build with bison 2.3 and older.
        perf tools: Limit unwind support to x86 archs
        perf annotate: Make it to be able to skip unannotatable symbols
        perf gtk/annotate: Fail early if it can't annotate
        perf gtk/annotate: Show source lines with gray color
        perf gtk/annotate: Support multiple event annotation
        perf ui/gtk: Implement basic GTK2 annotation browser
        perf annotate: Fix warning message on a missing vmlinux
        perf buildid-cache: Add --update option
        uprobes/perf: Avoid uprobe_apply() whenever possible
        uprobes/perf: Teach trace_uprobe/perf code to use UPROBE_HANDLER_REMOVE
        uprobes/perf: Teach trace_uprobe/perf code to pre-filter
        uprobes/perf: Teach trace_uprobe/perf code to track the active perf_event's
        uprobes: Introduce uprobe_apply()
        perf: Introduce hw_perf_event->tp_target and ->tp_list
        uprobes/perf: Always increment trace_uprobe->nhit
        uprobes/tracing: Kill uprobe_trace_consumer, embed uprobe_consumer into trace_uprobe
        uprobes/tracing: Introduce is_trace_uprobe_enabled()
        ...
      8f55cea4
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b7133a9a
      Linus Torvalds authored
      Pull irq core changes from Ingo Molnar:
       "The biggest changes are the IRQ-work and printk changes from Frederic
        Weisbecker, which prepare the code for 'full dynticks' (the ability to
        stop or slow down the periodic tick arbitrarily, not just in idle time
        as today):
      
         - Don't stop tick with irq works pending.  This fix is generally
           useful and concerns archs that can't raise self IPIs.
      
         - Flush irq works before CPU offlining.
      
         - Introduce "lazy" irq works that can wait for the next tick to be
           executed, unless it's stopped.
      
         - Implement klogd wake up using irq work.  This removes the ad-hoc
           printk_tick()/printk_needs_cpu() hooks and make it working even in
           dynticks mode.
      
         - Cleanups and fixes."
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Export enable/disable_percpu_irq()
        arch Kconfig: Remove references to IRQ_PER_CPU
        irq_work: Remove return value from the irq_work_queue() function
        genirq: Avoid deadlock in spurious handling
        printk: Wake up klogd using irq_work
        irq_work: Make self-IPIs optable
        irq_work: Warn if there's still work on cpu_down
        irq_work: Flush work on CPU_DYING
        irq_work: Don't stop the tick with pending works
        nohz: Add API to check tick state
        irq_work: Remove CONFIG_HAVE_IRQ_WORK
        irq_work: Fix racy check on work pending flag
        irq_work: Fix racy IRQ_WORK_BUSY flag setting
      b7133a9a
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e84cf5d0
      Linus Torvalds authored
      Pull RCU changes from Ingo Molnar:
       "SRCU changes:
      
         - These include debugging aids, updates that move towards the goal of
           permitting srcu_read_lock() and srcu_read_unlock() to be used from
           idle and offline CPUs, and a few small fixes.
      
        Changes to rcutorture and to RCU documentation:
      
         - Posted to LKML at https://lkml.org/lkml/2013/1/26/188
      
        Enhancements to uniprocessor handling in tiny RCU:
      
         - Posted to LKML at https://lkml.org/lkml/2013/1/27/2
      
        Tag RCU callbacks with grace-period number to simplify callback
        advancement:
      
         - Posted to LKML at https://lkml.org/lkml/2013/1/26/203
      
        Miscellaneous fixes:
      
         - Posted to LKML at https://lkml.org/lkml/2013/1/26/204"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
        srcu: use ACCESS_ONCE() to access sp->completed in srcu_read_lock()
        srcu: Update synchronize_srcu_expedited()'s comments
        srcu: Update synchronize_srcu()'s comments
        srcu: Remove checks preventing idle CPUs from calling srcu_read_lock()
        srcu: Remove checks preventing offline CPUs from calling srcu_read_lock()
        srcu: Simple cleanup for cleanup_srcu_struct()
        srcu: Add might_sleep() annotation to synchronize_srcu()
        srcu: Simplify __srcu_read_unlock() via this_cpu_dec()
        rcu: Allow rcutorture to be built at low optimization levels
        rcu: Make rcutorture's shuffler task shuffle recently added tasks
        rcu: Allow TREE_PREEMPT_RCU on UP systems
        rcu: Provide RCU CPU stall warnings for tiny RCU
        context_tracking: Add comments on interface and internals
        rcu: Remove obsolete Kconfig option from comment
        rcu: Remove unused code originally used for context tracking
        rcu: Consolidate debugging Kconfig options
        rcu: Correct 'optimized' to 'optimize' in header comment
        rcu: Trace callback acceleration
        rcu: Tag callback lists with corresponding grace-period number
        rcutorture: Don't compare ptr with 0
        ...
      e84cf5d0
  2. 19 Feb, 2013 2 commits
  3. 18 Feb, 2013 4 commits
  4. 16 Feb, 2013 1 commit
  5. 15 Feb, 2013 12 commits
  6. 14 Feb, 2013 11 commits