1. 17 11月, 2007 17 次提交
    • D
      x86: fix freeze in x86_64 RTC update code in time_64.c · c399da0d
      David P. Reed 提交于
      Fix hard freeze on x86_64 when the ntpd service calls 
      update_persistent_clock()
      
      A repeatable but randomly timed freeze has been happening in Fedora 6
      and 7 for the last year, whenever I run the ntpd service on my AMD64x2
      HP Pavilion dv9000z laptop.  This freeze is due to the use of
      spin_lock(&rtc_lock) under the assumption (per a bad comment) that
      set_rtc_mmss is called only with interrupts disabled.  The call from
      ntp.c to update_persistent_clock is made with interrupts enabled.
      Signed-off-by: NDavid P. Reed <dpreed@reed.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      c399da0d
    • D
      ntp: fix typo that makes sync_cmos_clock erratic · fa6a1a55
      David P. Reed 提交于
      Fix a typo in ntp.c that has caused updating of the persistent (RTC)
      clock when synced to NTP to behave erratically.
      
      When debugging a freeze that arises on my AMD64 machines when I
      run the ntpd service, I added a number of printk's to monitor the
      sync_cmos_clock procedure.  I discovered that it was not syncing to
      cmos RTC every 11 minutes as documented, but instead would keep trying
      every second for hours at a time.  The reason turned out to be a typo
      in sync_cmos_clock, where it attempts to ensure that
      update_persistent_clock is called very close to 500 msec. after a 1
      second boundary (required by the PC RTC's spec). That typo referred to
      "xtime" in one spot, rather than "now", which is derived from "xtime"
      but not equal to it.  This makes the test erratic, creating a
      "coin-flip" that decides when update_persistent_clock is called - when
      it is called, which is rarely, it may be at any time during the one
      second period, rather than close to 500 msec, so the value written is
      needlessly incorrect, too.
      
      Signed-off-by: David P. Reed
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      fa6a1a55
    • T
      Remove x86 merge artifact from top Makefile · d0974b11
      Thomas Gleixner 提交于
      The x86 merge modified the tags target to handle the two separate
      source directories. Remove it now that i386/x86_64 are gone completely.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      d0974b11
    • T
      x86: fixup cpu_info array conversion · 699d934d
      Thomas Gleixner 提交于
      92cb7612 sets cpu_info->cpu_index to zero
      for no reason. Referencing cpu_info->cpu_index now points always to CPU#0,
      which is apparently not what we want.
      
      Remove it.
      Spotted-by: NZou Nan hai <nanhai.zou@intel.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      699d934d
    • A
      x86: show cpuinfo only for online CPUs · c0c52d28
      Andreas Herrmann 提交于
      Fix regressions introduced with 92cb7612.
      
      It can happen that cpuinfo is displayed for CPUs that are not online or
      even worse for CPUs not present at all. As an example, following was
      shown for a "second" CPU of a single core K8 variant:
      
          processor       : 0
          vendor_id       : unknown
          cpu family      : 0
          model           : 0
          model name      : unknown
          stepping        : 0
          cache size      : 0 KB
          fpu             : yes
          fpu_exception   : yes
          cpuid level     : 0
          wp              : yes
          flags           :
          bogomips        : 0.00
          clflush size    : 0
          cache_alignment : 0
          address sizes   : 0 bits physical, 0 bits virtual
          power management:
      Signed-off-by: NAndreas Herrmann <andreas.herrmann3@amd.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      c0c52d28
    • A
      x86: fix cpu-hotplug regression · 90367556
      Andreas Herrmann 提交于
      Commit d435d862
      ("cpu hotplug: mce: fix cpu hotplug error handling")
      changed the error handling in mce_cpu_callback.
      
      In cases where not all CPUs are brought up during
      boot (e.g. using maxcpus and additional_cpus parameters)
      mce_cpu_callback now returns NOTFIY_BAD because
      for such CPUs cpu_data is not completely filled when
      the notifier is called. Thus mce_create_device fails right
      at its beginning:
      
              if (!mce_available(&cpu_data[cpu]))
                      return -EIO;
      
      As a quick fix I suggest to check boot_cpu_data for MCE.
      
      To reproduce this regression:
      
      (1) boot with maxcpus=2 addtional_cpus=2 on a 4 CPU x86-64 system
      (2) # echo 1 >/sys/devices/system/cpu/cpu2/online
        -bash: echo: write error: Invalid argument
      
      dmesg shows:
      
      _cpu_up: attempt to bring up CPU 2 failed
      Signed-off-by: NAndreas Herrmann <andreas.herrmann3@amd.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      90367556
    • I
      x86: ignore the sys_getcpu() tcache parameter · 4307d1e5
      Ingo Molnar 提交于
      dont use the vgetcpu tcache - it's causing problems with tasks
      migrating, they'll see the old cache up to a jiffy after the
      migration, further increasing the costs of the migration.
      
      In the worst case they see a complete bogus information from
      the tcache, when a sys_getcpu() call "invalidated" the cache
      info by incrementing the jiffies _and_ the cpuid info in the
      cache and the following vdso_getcpu() call happens after
      vdso_jiffies have been incremented.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NUlrich Drepper <drepper@redhat.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      4307d1e5
    • R
      x86: voyager use correct header file name · 434b3d32
      Randy Dunlap 提交于
      Fix header file name for Voyager build.
      
      In file included from arch/x86/kernel/setup_32.c:61:
      include/asm-x86/mach-voyager/setup_arch.h:2:26: error: asm/setup_32.h: No such file or directory
      make[1]: *** [arch/x86/kernel/setup_32.o] Error 1
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      434b3d32
    • R
      x86: fix smp init sections · 8f818210
      Randy Dunlap 提交于
      Fix Voyager section mismatch due to using __devinit instead of __cpuinit.
      
      WARNING: vmlinux.o(.text+0xd943): Section mismatch: reference to .init.text:init_gdt (between 'voyager_smp_prepare_boot_cpu' and 'smp_vic_cmn_interrupt')
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      8f818210
    • R
      x86: fix voyager_cat_init section · e5ef67ef
      Randy Dunlap 提交于
      Fix Voyager section mismatches:  voyager_cat_init() should be __init.
      
      WARNING: vmlinux.o(.text+0xee83): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xeea6): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xeeac): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xeeb2): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xef4c): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xef56): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xf10f): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xf13b): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xf14b): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xf159): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xf1b1): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xf1bb): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xf1c1): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xf1c7): Section mismatch: reference to .init.data:eprom_buf (between 'voyager_cat_init' and 'aes_enc_blk')
      WARNING: vmlinux.o(.text+0xf1e6): Section mismatch: reference to .init.data: (between 'voyager_cat_init' and 'aes_enc_blk')
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      e5ef67ef
    • T
      x86: fix bogus memcpy in es7000_check_dsdt() · 142d0a67
      Thomas Gleixner 提交于
      es7000_check_dst() contains a memcpy from 0, which probably should have been
      a memset. Remove it and check the retunr value from acpi_get_table_header.
      
      Noticed by: Joe Perches <joe@perches.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      142d0a67
    • L
      Linux 2.6.24-rc3 · d9f8bcbf
      Linus Torvalds 提交于
      d9f8bcbf
    • L
    • L
      Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm · 0048e1c4
      Linus Torvalds 提交于
      * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 4638/1: pxa: use PXA3xx specific macros to define clks
        [ARM] remove useless setting of VM_RESERVED
      0048e1c4
    • L
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq · 4c5cdb1e
      Linus Torvalds 提交于
      * master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:
        [CPUFREQ] Fix up whitespace in conservative governor.
        [CPUFREQ] Make cpufreq_conservative handle out-of-sync events properly
        [CPUFREQ] architectural pstate driver for powernow-k8
      4c5cdb1e
    • E
      SELinux: return EOPNOTSUPP not ENOTSUPP · ec418781
      Eric Paris 提交于
      ENOTSUPP is not a valid error code in the kernel (it is defined in some
      NFS internal error codes and has been improperly used other places).  In
      the !CONFIG_SECURITY_SELINUX case though it is possible that we could
      return this from selinux_audit_rule_init().  This patch just returns the
      userspace valid EOPNOTSUPP.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NJames Morris <jmorris@namei.org>
      ec418781
    • E
      [ARM] 4638/1: pxa: use PXA3xx specific macros to define clks · 2a0d7187
      eric miao 提交于
      PXA3xx uses its own clk_pxa3xx_cken_ops, modify the code to use the
      PXA3xx specific macros to define its clocks
      Signed-off-by: Neric miao <eric.miao@marvell.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2a0d7187
  2. 16 11月, 2007 23 次提交