Re: [Kgdb-bugreport] [PATCH 05/37] kdb: core for kgdb back end
Status: Beta
Brought to you by:
jwessel
From: Jason W. <jas...@wi...> - 2009-12-28 17:15:29
|
Peter Zijlstra wrote: > On Mon, 2009-12-28 at 10:33 -0600, Jason Wessel wrote: >> The reason we need the attached patch is to be able to call >> curr_task() for kdb to perform some basic per cpu task analysis while >> the system is stopped. > > Right, so this set_curr_task() thing is way scary, maybe we can simplify > things to only expose curr_task()? I am not sure what you had in mind for a simplification. Is it simply to only expose the function to kdb that we use, as follows in the patch below, or something else? There are no calls to set_curr_task() from kdb. The curr_task() was only needed because there was no way to get at cpu_curr() outside of kernel/sched.c. I had just assumed curr_task() was the "official" helper function. Jason. diff --git a/kernel/sched.c b/kernel/sched.c index c535cc4..76fa8e1 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -9784,9 +9784,9 @@ void normalize_rt_tasks(void) #endif /* CONFIG_MAGIC_SYSRQ */ -#ifdef CONFIG_IA64 +#if defined(CONFIG_IA64) || defined(CONFIG_KGDB_KDB) /* - * These functions are only useful for the IA64 MCA handling. + * These functions are only useful for the IA64 MCA handling, or kdb. * * They can only be called when the whole system has been * stopped - every CPU needs to be quiescent, and no scheduling @@ -9806,6 +9806,9 @@ struct task_struct *curr_task(int cpu) return cpu_curr(cpu); } +#endif /* defined(CONFIG_IA64) || defined(CONFIG_KGDB_KDB) */ + +#ifdef CONFIG_IA64 /** * set_curr_task - set the current task for a given cpu. * @cpu: the processor in question. |