1. 24 9月, 2009 3 次提交
    • R
      x86: Reduce verbosity of "PAT enabled" kernel message · e23a8b6a
      Roland Dreier 提交于
      On modern systems, the kernel prints the message
      
          x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
      
      once for every CPU.
      
      This gets kind of ridiculous on huge systems; for example, on a
      64-thread system I was lucky enough to get:
      
          dmesg| grep 'PAT enabled' | wc
               64     704    5174
      
      There is already a BUG() if non-boot CPUs have PAT capabilities
      that don't match the boot CPU, so just print the message on the
      boot CPU. (I kept the print after the wrmsrl() that enables PAT,
      so that the log output continues to mean that the system survived
      enabling PAT on the boot CPU)
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
      LKML-Reference: <adavdj92sso.fsf@cisco.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e23a8b6a
    • R
      x86: Reduce verbosity of "TSC is reliable" message · ea01c0d7
      Roland Dreier 提交于
      On modern systems, the kernel prints the message
      
          Skipping synchronization checks as TSC is reliable.
      
      once for every non-boot CPU.
      
      This gets kind of ridiculous on huge systems; for example, on a
      64-thread system I was lucky enough to get:
      
          $ dmesg | grep 'TSC is reliable' | wc
               63     567    4221
      
      There's no point to doing this for every CPU, since the code is
      just checking the boot CPU anyway, so change this to a
      printk_once() to make the message appears only once.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      LKML-Reference: <adazl8l2swc.fsf@cisco.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ea01c0d7
    • I
      x86: mce: Use safer ways to access MCE registers · 11868a2d
      Ingo Molnar 提交于
      Use rdmsrl_safe() when accessing MCE registers. While in
      theory we always 'know' which ones are safe to access from
      the capability bits, there's a lot of hardware variations
      and reality might differ from theory, as it did in this case:
      
         http://bugzilla.kernel.org/show_bug.cgi?id=14204
      
      [    0.010016] mce: CPU supports 5 MCE banks
      [    0.011029] general protection fault: 0000 [#1]
      [    0.011998] last sysfs file:
      [    0.011998] Modules linked in:
      [    0.011998]
      [    0.011998] Pid: 0, comm: swapper Not tainted (2.6.31_router #1) HP Vectra
      [    0.011998] EIP: 0060:[<c100d9b9>] EFLAGS: 00010246 CPU: 0
      [    0.011998] EIP is at mce_rdmsrl+0x19/0x60
      [    0.011998] EAX: 00000000 EBX: 00000001 ECX: 00000407 EDX: 08000000
      [    0.011998] ESI: 00000000 EDI: 8c000000 EBP: 00000405 ESP: c17d5eac
      
      So WARN_ONCE() instead of crashing the box.
      
      ( also fix a number of stylistic inconsistencies in the code. )
      
      Note, we might still crash in wrmsrl() if we get that far, but
      we shouldnt if the registers are truly inaccessible.
      Reported-by: NGNUtoo <GNUtoo@no-log.org>
      Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Cc: Huang Ying <ying.huang@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      LKML-Reference: <bug-14204-5438@http.bugzilla.kernel.org/>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      11868a2d
  2. 23 9月, 2009 2 次提交
  3. 22 9月, 2009 11 次提交
    • I
      x86: mce: Fix thermal throttling message storm · b417c9fd
      Ingo Molnar 提交于
      If a system switches back and forth between hot and cold mode,
      the MCE code will print a stream of critical kernel messages.
      
      Extend the throttling code to properly notice this, by
      only printing the first hot + cold transition and omitting
      the rest up to CHECK_INTERVAL (5 minutes).
      
      This way we'll only get a single incident of:
      
       [  102.356584] CPU0: Temperature above threshold, cpu clock throttled (total events = 1)
       [  102.357000] Disabling lock debugging due to kernel taint
       [  102.369223] CPU0: Temperature/speed normal
      
      Every 5 minutes. The 'total events' count tells the number of cold/hot
      transitions detected, should overheating occur after 5 minutes again:
      
      [  402.357580] CPU0: Temperature above threshold, cpu clock throttled (total events = 24891)
      [  402.358001] CPU0: Temperature/speed normal
      [  450.704142] Machine check events logged
      
      Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Cc: Huang Ying <ying.huang@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b417c9fd
    • I
      x86: mce: Clean up thermal throttling state tracking code · 39676840
      Ingo Molnar 提交于
      Instead of a mess of three separate percpu variables, consolidate
      the state into a single structure.
      
      Also clean up therm_throt_process(), use cleaner and more
      understandable variable names and a clearer logic.
      
      This, without changing the logic, makes the code more
      streamlined, more readable and smaller as well:
      
         text	   data	    bss	    dec	    hex	filename
         1487	    169	      4	   1660	    67c	therm_throt.o.before
         1432	    176	      4	   1612	    64c	therm_throt.o.after
      
      Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Cc: Huang Ying <ying.huang@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      39676840
    • J
      x86: split NX setup into separate file to limit unstack-protected code · c44c9ec0
      Jeremy Fitzhardinge 提交于
      Move the NX setup into a separate file so that it can be compiled
      without stack-protection while leaving the rest of the mm/init code
      protected.
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      c44c9ec0
    • J
      xen: check EFER for NX before setting up GDT mapping · b75fe4e5
      Jeremy Fitzhardinge 提交于
      x86-64 assumes NX is available by default, so we need to
      explicitly check for it before using NX.  Some first-generation
      Intel x86-64 processors didn't support NX, and even recent systems
      allow it to be disabled in BIOS.
      
      [ Impact: prevent Xen crash on NX-less 64-bit machines ]
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Cc: Stable Kernel <stable@kernel.org>
      b75fe4e5
    • L
      Merge branch 'core-fixes-for-linus' of... · b8c7f1dc
      Linus Torvalds 提交于
      Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        rcu: Fix whitespace inconsistencies
        rcu: Fix thinko, actually initialize full tree
        rcu: Apply results of code inspection of kernel/rcutree_plugin.h
        rcu: Add WARN_ON_ONCE() consistency checks covering state transitions
        rcu: Fix synchronize_rcu() for TREE_PREEMPT_RCU
        rcu: Simplify rcu_read_unlock_special() quiescent-state accounting
        rcu: Add debug checks to TREE_PREEMPT_RCU for premature grace periods
        rcu: Kconfig help needs to say that TREE_PREEMPT_RCU scales down
        rcutorture: Occasionally delay readers enough to make RCU force_quiescent_state
        rcu: Initialize multi-level RCU grace periods holding locks
        rcu: Need to update rnp->gpnum if preemptable RCU is to be reliable
      b8c7f1dc
    • L
      Merge branch 'perfcounters-fixes-for-linus' of... · f4eccb6d
      Linus Torvalds 提交于
      Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        perf_counter, powerpc, sparc: Fix compilation after perf_counter_overflow() change
        perf_counter: x86: Fix PMU resource leak
        perf util: SVG performance improvements
        perf util: Make the timechart SVG width dynamic
        perf timechart: Show the duration of scheduler delays in the SVG
        perf timechart: Show the name of the waker/wakee in timechart
      f4eccb6d
    • L
      Merge branch 'sched-fixes-for-linus' of... · 8e4bc3dd
      Linus Torvalds 提交于
      Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        sched: Simplify sys_sched_rr_get_interval() system call
        sched: Fix potential NULL derference of doms_cur
        sched: Fix raciness in runqueue_is_locked()
        sched: Re-add lost cpu_allowed check to sched_fair.c::select_task_rq_fair()
        sched: Remove unneeded indentation in sched_fair.c::place_entity()
      8e4bc3dd
    • L
      Merge branch 'tracing-fixes-for-linus' of... · bd4c3a34
      Linus Torvalds 提交于
      Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        kernel/profile.c: Switch /proc/irq/prof_cpu_mask to seq_file
        tracing: Export trace_profile_buf symbols
        tracing/events: use list_for_entry_continue
        tracing: remove max_tracer_type_len
        function-graph: use ftrace_graph_funcs directly
        tracing: Remove markers
        tracing: Allocate the ftrace event profile buffer dynamically
        tracing: Factorize the events profile accounting
      bd4c3a34
    • L
      Merge branch 'x86-fixes-for-linus' of... · b3727c24
      Linus Torvalds 提交于
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86: Print the hypervisor returned tsc_khz during boot
        x86: Correct segment permission flags in 64-bit linker script
        x86: cpuinit-annotate SMP boot trampolines properly
        x86: Increase timeout for EHCI debug port reset completion in early printk
        x86: Fix uaccess_32.h typo
        x86: Trivial whitespace cleanups
        x86, apic: Fix missed handling of discrete apics
        x86/i386: Remove duplicated #include
        x86, mtrr: Convert loop to a while based construct, avoid naked semicolon
        Revert 'x86: Fix system crash when loading with "reservetop" parameter'
        x86, mce: Fix compile warning in case of CONFIG_SMP=n
        x86, apic: Use logical flat on intel with <= 8 logical cpus
        x86: SGI UV: Map MMIO-High memory range
        x86: SGI UV: Add volatile semantics to macros that access chipset registers
        x86: SGI UV: Fix IPI macros
        x86: apic: Convert BUG() to BUG_ON()
        x86: Remove final bits of CONFIG_X86_OLD_MCE
      b3727c24
    • L
      Merge branch 'writeback' of git://git.kernel.dk/linux-2.6-block · 58e75a09
      Linus Torvalds 提交于
      * 'writeback' of git://git.kernel.dk/linux-2.6-block:
        nfs: initialize the backing_dev_info when creating the server
        writeback: make balance_dirty_pages() gradually back more off
        writeback: don't use schedule_timeout() without setting runstate
        nfs: nfs_kill_super() should call bdi_unregister() after killing super
      58e75a09
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · c720f565
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (222 commits)
        V4L/DVB (13033): pt1: Don't use a deprecated DMA_BIT_MASK macro
        V4L/DVB (13029): radio-si4713: remove #include <linux/version.h>
        V4L/DVB (13027): go7007: convert printks to v4l2_info
        V4L/DVB (13026): s2250-board: Implement brightness and contrast controls
        V4L/DVB (13025): s2250-board: Fix memory leaks
        V4L/DVB (13024): go7007: Implement vidioc_g_std and vidioc_querystd
        V4L/DVB (13023): go7007: Merge struct gofh and go declarations
        V4L/DVB (13022): go7007: Fix mpeg controls
        V4L/DVB (13021): go7007: Fix whitespace and line lengths
        V4L/DVB (13020): go7007: Updates to Kconfig and Makefile
        V4L/DVB (13019): video: initial support for ADV7180
        V4L/DVB (13018): kzalloc failure ignored in au8522_probe()
        V4L/DVB (13017): gspca: kmalloc failure ignored in sd_start()
        V4L/DVB (13016): kmalloc failure ignored in lgdt3304_attach() and s921_attach()
        V4L/DVB (13015): kmalloc failure ignored in m920x_firmware_download()
        V4L/DVB (13014): Add support for Compro VideoMate E800 (DVB-T part only)
        V4L/DVB (13013): FM TX: si4713: Kconfig: Fixed two typos.
        V4L/DVB (13012): uvc: introduce missing kfree
        V4L/DVB (13011): Change tuner type of BeholdTV cards
        V4L/DVB (13009): gspca - stv06xx-hdcs: Reduce exposure range
        ...
      c720f565
  4. 21 9月, 2009 24 次提交
新手
引导
客服 返回
顶部