On Fri, 2006-04-28 at 08:25 -0400, Dave Anderson wrote:
Badari Pulavarty wrote:
> Dave Anderson wrote:
>
> >
> > changes the pid_hash chain from:
> >
> > static struct hlist_head *pid_hash[PIDTYPE_MAX];
> >
> > to:
> >
> > static struct hlist_head *pid_hash;
> >
> > The pid_hash infrastructure is what the crash utility
> > uses to gather the set of running tasks during initialization.
> > The change above breaks it, and crash will fail with an
> > error message stating:
> >
> > crash: cannot determine pid_hash array dimensions
> >
> > As the PID handling has changed over the years, there have
> > been several task-gathering functions in crash, the latest
> > of which is refresh_hlist_task_table(). I don't know whether
> > it will be possible to shoe-horn the new scheme to fit this
> > current crash function, or whether yet another new one will
> > have to be written. If it's the latter, it may take a while...
> >
>
> Well, its not the only one we need to deal with on 2.6.17-rc2 :(
>
> elm3a242:~/crash-4.0-2.23 # ./crash
> crash 4.0-2.23
> Copyright (C) 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.
> Copyright (C) 2004, 2005, 2006 IBM Corporation
> Copyright (C) 1999-2006 Hewlett-Packard Co
> Copyright (C) 2005 Fujitsu Limited
> Copyright (C) 2005 NEC Corporation
> Copyright (C) 1999, 2002 Silicon Graphics, Inc.
> Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc.
> This program is free software, covered by the GNU General Public License,
> and you are welcome to change it and/or distribute copies of it under
> certain conditions. Enter "help copying" to see the conditions.
> This program has absolutely no warranty. Enter "help warranty" for
details.
>
> GNU gdb 6.1
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for
details.
> This GDB was configured as "x86_64-unknown-linux-gnu"...
>
> crash: cannot resolve: "pgdat_list"
>
Yep, Vivek and I ran into that yesterday -- and I've fixed that issue.
And support for the intro of the new pid_hash/pid_link scheme is
looking pretty good.
Yes. I looked at it yesterday. I think we can work those out into
current scheme (without major surgery). I was just trying to understand
the kernel changes and the crash code. I haven't made any changes yet
(given that you are working on it). If you need a hand, let me know.
Thanks,
Badari