[Crash-utility] Running idle threads show wrong CPU numbers

Dave Anderson anderson at redhat.com
Wed Feb 10 15:08:48 UTC 2010


----- "Michael Holzheu" <holzheu at linux.vnet.ibm.com> wrote:

> Hi again,

> > When I change get_smp_cpus() to return "get_highest_cpu_online() + 1" I
> > see five swapper idle tasks when using "ps". The problem I now have is
> > that I have to provide a backtrace for the offline cpus. But the offline
> > CPUs do not have any stack on s390. Is there a way to tell crash that
> > there is no backtrace available? Probably I overlooked something...
> 
> Ok, I think I got it now. In case of an offline CPU, I will use
> "task_struct_thread_ksp" like I do it for non active tasks.
> 
> When I do that I get for the swapper tasks with the offline CPUs:
> 
> PID: 0      TASK: 18d38340          CPU: 2   COMMAND: "swapper"
>  #0 [18d3feb8] ret_from_fork at 117e12
> 
> PID: 0      TASK: 18d40440          CPU: 3   COMMAND: "swapper"
>  #0 [18d47eb8] ret_from_fork at 117e12

I'm not why you should do anything.  The cpu is offline and for all
practical purposes it doesn't exist, so why bother?

The patch I have queued just uses get_highest_cpu_online()+1 and
does nothing else.  But I only tested it on a live system, and
any backtrace attempt on the offlined swapper task just shows
(active).  What happens when you do a "bt -a" with a dumpfile?

Dave




More information about the Crash-utility mailing list