patch-2.4.21 linux-2.4.21/arch/ia64/kernel/process.c
Next file: linux-2.4.21/arch/ia64/kernel/ptrace.c
Previous file: linux-2.4.21/arch/ia64/kernel/perfmon_mckinley.h
Back to the patch index
Back to the overall index
- Lines: 68
- Date:
2003-06-13 07:51:29.000000000 -0700
- Orig file:
linux-2.4.20/arch/ia64/kernel/process.c
- Orig date:
2002-11-28 15:53:09.000000000 -0800
diff -urN linux-2.4.20/arch/ia64/kernel/process.c linux-2.4.21/arch/ia64/kernel/process.c
@@ -161,6 +161,10 @@
void
ia64_save_extra (struct task_struct *task)
{
+#ifdef CONFIG_PERFMON
+ unsigned long info;
+#endif
+
if ((task->thread.flags & IA64_THREAD_DBG_VALID) != 0)
ia64_save_debug_regs(&task->thread.dbr[0]);
@@ -168,10 +172,9 @@
if ((task->thread.flags & IA64_THREAD_PM_VALID) != 0)
pfm_save_regs(task);
-# ifdef CONFIG_SMP
- if (local_cpu_data->pfm_syst_wide)
- pfm_syst_wide_update_task(task, 0);
-# endif
+ info = local_cpu_data->pfm_syst_info;
+ if (info & PFM_CPUINFO_SYST_WIDE)
+ pfm_syst_wide_update_task(task, info, 0);
#endif
#ifdef CONFIG_IA32_SUPPORT
@@ -183,6 +186,10 @@
void
ia64_load_extra (struct task_struct *task)
{
+#ifdef CONFIG_PERFMON
+ unsigned long info;
+#endif
+
if ((task->thread.flags & IA64_THREAD_DBG_VALID) != 0)
ia64_load_debug_regs(&task->thread.dbr[0]);
@@ -190,10 +197,9 @@
if ((task->thread.flags & IA64_THREAD_PM_VALID) != 0)
pfm_load_regs(task);
-# ifdef CONFIG_SMP
- if (local_cpu_data->pfm_syst_wide)
- pfm_syst_wide_update_task(task, 1);
-# endif
+ info = local_cpu_data->pfm_syst_info;
+ if (info & PFM_CPUINFO_SYST_WIDE)
+ pfm_syst_wide_update_task(task, info, 1);
#endif
#ifdef CONFIG_IA32_SUPPORT
@@ -224,7 +230,7 @@
* | | <-- sp (lowest addr)
* +---------------------+
*
- * Note: if we get called through kernel_thread() then the memory
+ * Note: if we get called through arch_kernel_thread() then the memory
* above "(highest addr)" is valid kernel stack memory that needs to
* be copied as well.
*
@@ -479,7 +485,7 @@
}
pid_t
-kernel_thread (int (*fn)(void *), void *arg, unsigned long flags)
+arch_kernel_thread (int (*fn)(void *), void *arg, unsigned long flags)
{
struct task_struct *parent = current;
int result, tid;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)