On Tue, 4 Aug 2015 09:06:47 -0400 (EDT)
Dave Anderson <anderson(a)redhat.com> wrote:
>
>
> ----- Original Message -----
> > On Mon, 3 Aug 2015 14:54:28 -0400 (EDT)
> > Dave Anderson <anderson(a)redhat.com> wrote:
> >
> > >
> > >
> > > ----- Original Message -----
> > > > Hello Dave,
> > > >
> > > > On s390 (kernel 4.2.0-rc2) the "RSS" field in
"ps" is wrong.
> > > >
> > > > The reason is that in rss_page_types_init()
> > > > enumerator_value("MM_ANONPAGES",
> > > > &anonpages) returns zero for "anonpages" and therefore
we add
> > > > MM_FILEPAGES
> > > > twice instead of adding MM_ANONPAGES.
> > > >
> >
> > [snip]
> >
> > > And I verified that the enumerator_value() function returns
> > > successfully,
> > > and that
> > > it returns the correct values. If enumerator_value() returns
> > > successfully,
> > > they get
> > > stored in the task_table:
> > >
> > > crash> help -t | grep -e filepages -e anonpages
> > > filepages: 0
> > > anonpages: 1
> > > crash>[root@hp-dl980g7-02 crash.git]
> > >
> > > When you you do a "help -t" do you see both of the above showing
"0"?
> >
> > crash> help -t | grep -e filepages -e anonpages
> > filepages: 0
> > anonpages: 0
> >
> > Perhaps a gdb issue on s390?
>
> What does gdb alone show? I'm not sure the best way to dump anonymous
> enums
> with gdb, but this should show a value of 1 for MM_ANONPAGES:
>
> # gdb /usr/lib/debug/lib/modules/4.2.0-0.rc4.git1.1.fc23.x86_64/vmlinux
> GNU gdb (GDB) Fedora 7.9.90.20150717-7.fc23
> Copyright (C) 2015 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <
http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-redhat-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <
http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <
http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to
"word"...
> Reading symbols from
> /usr/lib/debug/lib/modules/4.2.0-0.rc4.git1.1.fc23.x86_64/vmlinux...done.
> (gdb) printf "%d\n", MM_ANONPAGES
> 1
Same with my gdb (7.9-10.1):
gdb ./vmlinux.full
GNU gdb (GDB) Fedora 7.9-10.1
[...]
Reading symbols from ./vmlinux.full...done.
(gdb) printf "%d\n", MM_ANONPAGES
1
If I call gdb within crash, I get the same result:
crash> gdb printf "%d\n", MM_ANONPAGES
1
Michael
OK, so it would seem to be somewhere in the trail from enumerator_value()
into the gdb_command_funnel() via the GNU_GET_DATATYPE req->command in
datatype_info().
I'm having a hard time provisioning an s390x machine internally at this time.
When I get one, I'll see if the problem has been there all along.
Dave