----- Original Message -----
>
> While this is an improvement over your last post, there are still issues
> with this patchset. I've been testing it with a wide range of stashed
> vmcores, and I see problems with all of the old 2.6.24 vmcores. Those
> kernels used an early version of CONFIG_SLUB which did not even have
> the kmem_cache_node.total_objects field. However, given that the
> kmem_cache_node.total_objects field is encapsulated within CONFIG_SLUB_DEBUG,
> presumably the same problem would occur with a more recent kernel
> if it was *not* configured with CONFIG_SLUB_DEBUG.
>
I have tried to fix this in the attached new version (and have done a rebase),
but could not confirm that it fixes the problem, since I do not have a vmcore without
total_objects,
and with CONFIG_SLUB_DEBUG disabled "kmem -s" does not work.
crash> kmem -s
kmem: option requires kmem_cache_node.nr_slabs member!
(the kernel must be built with CONFIG_SLUB_DEBUG)
In your test code, you could simply NOT initialize the total_objects offset
and see what happens.
Dave
>
> Other nits:
>
> Please fix these:
>
> $ make warn
> ... [ cut ] ...
> cc -c -g -DX86_64 -DLZO -DSNAPPY -DGDB_7_6 memory.c -Wall -O2
> -Wstrict-prototypes -Wmissing-prototypes -fstack-protector
> -Wformat-security
> memory.c:17916:7: warning: no previous prototype for 'count_cpu_partial'
> [-Wmissing-prototypes]
> short count_cpu_partial(struct meminfo *si, int cpu)
> ^
> memory.c: In function 'get_kmem_cache_slub_data':
> memory.c:17982:15: warning: unused variable 'free' [-Wunused-variable]
> short inuse, free;
> ...
Done
>
>
> In defs.h, please put the kmem_cache_node_total_objects offset_table entry
> at the end
> of the structure so that it won't break extension modules that haven't been
> recompiled.
Done
>
> And lastly, add the display of the kmem_cache_node_total_objects offset to
> the
> dump_offset_table() function in symbols.c, which is used by "help -o".
> That would
> be especially helpful in this case so a user can verify whether the field
> even
> exists in the kernel being analyzed. You can put its output line next to
> the other
> kmem_cache_node offsets.
>
Done
Thanks,
Vinayak
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility