1. 15 11月, 2007 1 次提交
  2. 10 11月, 2007 3 次提交
  3. 07 11月, 2007 6 次提交
  4. 31 10月, 2007 1 次提交
  5. 30 10月, 2007 3 次提交
    • A
      [IA64] /proc/cpuinfo "physical id" field cleanups · 113134fc
      Alex Chiang 提交于
      Clean up the process for presenting the "physical id" field in
      /proc/cpuinfo.
      
      	- remove global smp_num_cpucores, as it is mostly useless
      
      	- remove check_for_logical_procs(), since we do the same
      	  functionality in identify_siblings()
      
      	- reflow logic in identify_siblings(). If an older CPU
      	  does not implement PAL_LOGICAL_TO_PHYSICAL, we may still
      	  be able to get useful information from SAL_PHYSICAL_ID_INFO
      
      	- in identify_siblings(), threads/cores are a property of
      	  the CPU, not the platform
      
      	- remove useless printk's about multi-core / thread
      	  capability in identify_siblings(), as that information
      	  is readily available in /proc/cpuinfo, and printing for
      	  the BSP only adds little value
      
      	- smp_num_siblings is now meaningful if any CPU in the
      	  system supports threads, not just the BSP
      
      	- expose "physical id" field, even on CPUs that are not
      	  multi-core / multi-threaded (as long as we have a valid
      	  value). Now we know what sockets Madisons live in too.
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      113134fc
    • R
      [IA64] vDSO vs --build-id · 172c5106
      Roland McGrath 提交于
      When gcc uses --build-id by default, the gate.lds.S linker script runs afoul
      of the new note section and produces a bad DSO image.  This fixes it.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      172c5106
    • S
      [IA64] vmcore_find_descriptor_size should be in __init · 1775fe85
      Simon Horman 提交于
      vmcore_find_descriptor_size() is only called by
      reserve_elfcorehdr(), which is in __init, so it seems to me that
      vmcore_find_descriptor_size() should be there too.
      Signed-off-by: NSimon Horman <horms@verge.net.au>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      1775fe85
  6. 22 10月, 2007 1 次提交
    • B
      kexec: add BSS to resource tree · 00bf4098
      Bernhard Walle 提交于
      Add the BSS to the resource tree just as kernel text and kernel data are in
      the resource tree.  The main reason behind this is to avoid crashkernel
      reservation in that area.
      
      While it's not strictly necessary to have the BSS in the resource tree (the
      actual collision detection is done in the reserve_bootmem() function before),
      the usage of the BSS resource should be presented to the user in /proc/iomem
      just as Kernel data and Kernel code.
      
      Note: The patch currently is only implemented for x86 and ia64 (because
      efi_initialize_iomem_resources() has the same signature on i386 and ia64).
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: NBernhard Walle <bwalle@suse.de>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Vivek Goyal <vgoyal@in.ibm.com>
      Cc: <linux-arch@vger.kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      00bf4098
  7. 20 10月, 2007 3 次提交
  8. 19 10月, 2007 1 次提交
  9. 18 10月, 2007 1 次提交
    • A
      [IA64] fix non-numa build · 7259888e
      Andrew Morton 提交于
      arch/ia64/kernel/machine_kexec.c: In function `arch_crash_save_vmcoreinfo':
      arch/ia64/kernel/machine_kexec.c:131: error: `pgdat_list' undeclared (first use in this function)
      arch/ia64/kernel/machine_kexec.c:131: error: (Each undeclared identifier is reported only once
      arch/ia64/kernel/machine_kexec.c:131: error: for each function it appears in.)
      arch/ia64/kernel/machine_kexec.c:134: error: `node_memblk' undeclared (first use in this function)
      arch/ia64/kernel/machine_kexec.c:135: error: `NR_NODE_MEMBLKS' undeclared (first use in this function)
      arch/ia64/kernel/machine_kexec.c:136: error: invalid application of `sizeof' to incomplete type `node_memblk_s'
      arch/ia64/kernel/machine_kexec.c:137: error: dereferencing pointer to incomplete type
      arch/ia64/kernel/machine_kexec.c:138: error: dereferencing pointer to incomplete type
      make[1]: *** [arch/ia64/kernel/machine_kexec.o] Error 1
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      7259888e
  10. 17 10月, 2007 8 次提交
  11. 13 10月, 2007 7 次提交
    • K
      [IA64] Fix kernel hangup in kdump on INIT · 2010d7fe
      Kenji Kaneshige 提交于
      Fix the problem that kdump on INIT hung up if kdump kernel image is
      not configured.
      
      The kdump_init_notifier() on monarch CPU stops its operation at
      DIE_INIT_MONARCH_LEAVE time if the kdump kernel image is not
      configured. On the other hand, kdump_init_notifier() on non-monarch
      CPUs get into spin because they don't know the fact the monarch stops
      its operation. This is the cause of this problem. To fix this problem,
      we need to check the kdump kernel image at the top of the
      kdump_init_notifier() function.
      Signed-off-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      2010d7fe
    • K
      [IA64] Fix kernel panic in kdump on INIT · ac542a51
      Kenji Kaneshige 提交于
      Fix the problem that kdump on INIT causes a kernel panic if kdump
      kernel image is not configured. The cause of this problem is
      machine_kexec_on_init() is using printk in INIT context. It should
      use ia64_mca_printk() instead.
      Signed-off-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      ac542a51
    • S
      [IA64] Remove vector from ia64_machine_kexec() · a62c9fe4
      Simon Horman 提交于
      The use of vector in ia64_machine_kexec() seems spurious,
      and removing it simplifies the code slightly.
      
      As suggested by Alex Williamson <alex.williamson@hp.com>
      
      Cc: Alex Williamson <alex.williamson@hp.com>
      Signed-off-by: NSimon Horman <horms@verge.net.au>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      a62c9fe4
    • R
      [IA64] Fix race when multiple cpus go through MCA · e1b1eb01
      Russ Anderson 提交于
      Additional testing uncovered a situation where the MCA recovery code could
      hang due to a race condition.
      
      According to the SAL spec, SAL sends a rendezvous interrupt to all but the first
      CPU that goes into MCA.  This includes other CPUs that go into MCA at the same
      time.  Those other CPUs will go into the linux MCA handler (rather than the
      slave loop) with the rendezvous interrupt pending.  When all the CPUs have
      completed MCA processing and the last monarch completes, freeing all the CPUs,
      the CPUs with the pended rendezvous interrupt then go into the
      ia64_mca_rendez_int_handler().  In ia64_mca_rendez_int_handler() the CPUs
      get marked as rendezvoused, but then leave the handler (due to no MCA).
      That leaves the CPUs marked as rendezvoused _before_ the next MCA event.
      
      When the next MCA hits, the monarch will mistakenly believe that all the CPUs
      are rendezvoused when they are not, opening up a window where a CPU can get
      stuck in the slave loop.
      
      This patch avoids leaving CPUs marked as rendezvoused when they are not.
      Signed-off-by: NRuss Anderson <rja@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      e1b1eb01
    • R
      [IA64] Remove needless delay in MCA rendezvous · 2bc5c282
      Russ Anderson 提交于
      While testing the MCA recovery code, noticed that some machines would have a
      five second delay rendezvousing cpus.  What was happening is that
      ia64_wait_for_slaves() would check to see if all the slave CPUs had
      rendezvoused.  If any had not, it would wait 1 millisecond then check again.
      If any CPUs had still not rendezvoused, it would wait 5 seconds before
      checking again.
      
      On some configs the rendezvous takes more than 1 millisecond, causing the code
      to wait the full 5 seconds, even though the last CPU rendezvoused after only
      a few milliseconds.
      
      The fix is to check every 1 millisecond to see if all the cpus have
      rendezvoused.  After 5 seconds the code concludes the CPUs will never
      rendezvous (same as before).
      
      The MCA code is, by definition, not performance critical, but a needless
      delay of 5 seconds is senseless.  The 5 seconds also adds up quickly
      when running the error injection code in a loop.
      
      This patch both simplifies the code and removes the needless delay.
      Signed-off-by: NRuss Anderson <rja@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      2bc5c282
    • S
      [IA64] perfmon: Remove exit_pfm_fs() · 8e75ad89
      Satyam Sharma 提交于
      Because it is dead code and not referenced by anybody else (that file cannot
      be built modular).
      Signed-off-by: NSatyam Sharma <satyam@infradead.org>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Stephane Eranian <eranian@hpl.hp.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      8e75ad89
    • S
      [IA64] tree-wide: Misc __cpu{initdata, init, exit} annotations · db6a5cef
      Satyam Sharma 提交于
      * palinfo.c:
      
      palinfo_cpu_notifier is a CPU hotplug notifier_block, and can be
      marked __cpuinitdata, and the callback function palinfo_cpu_callback()
      itself can be marked __cpuinit. create_palinfo_proc_entries() is only
      called from __cpuinit callback or general __init code, therefore a
      candidate for __cpuinit itself. remove_palinfo_proc_entries() is only
      called from __cpuinit callback or general __exit code, therefore a
      candidate for __cpuexit.
      
      * salinfo.c:
      
      The CPU hotplug notifier_block can be __cpuinitdata. The callback
      salinfo_cpu_callback() is incorrectly marked __devinit -- it must
      be __cpuinit instead.
      
      * topology.c:
      
      cache_sysfs_init() is only called at device_initcall() time so marking
      it as __cpuinit is wrong and wasteful. It should be unconditionally
      __init. Also cleanup reference to hotplug notifier callback function
      from this function and replace with cache_add_dev(), which could also
      enable us to use other tricks to replace __cpuinit{data} annotations,
      as recently discussed on this list.
      
      cache_shared_cpu_map_setup() is only ever called from __cpuinit-marked
      functions hence both its definitions (SMP or !SMP) are candidates for
      __cpuinit itself. Also all_cpu_cache_info can be __cpuinitdata because
      only referenced from __cpuinit code.
      Signed-off-by: NSatyam Sharma <satyam@infradead.org>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      db6a5cef
  12. 05 10月, 2007 1 次提交
  13. 11 9月, 2007 1 次提交
    • R
      Fix spurious syscall tracing after PTRACE_DETACH + PTRACE_ATTACH · 7d941432
      Roland McGrath 提交于
      When PTRACE_SYSCALL was used and then PTRACE_DETACH is used, the
      TIF_SYSCALL_TRACE flag is left set on the formerly-traced task.  This
      means that when a new tracer comes along and does PTRACE_ATTACH, it's
      possible he gets a syscall tracing stop even though he's never used
      PTRACE_SYSCALL.  This happens if the task was in the middle of a system
      call when the second PTRACE_ATTACH was done.  The symptom is an
      unexpected SIGTRAP when the tracer thinks that only SIGSTOP should have
      been provoked by his ptrace calls so far.
      
      A few machines already fixed this in ptrace_disable (i386, ia64, m68k).
      But all other machines do not, and still have this bug.  On x86_64, this
      constitutes a regression in IA32 compatibility support.
      
      Since all machines now use TIF_SYSCALL_TRACE for this, I put the
      clearing of TIF_SYSCALL_TRACE in the generic ptrace_detach code rather
      than adding it to every other machine's ptrace_disable.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7d941432
  14. 01 9月, 2007 2 次提交
  15. 29 8月, 2007 1 次提交