Commit Graph

10 Commits

Author SHA1 Message Date
Dave Anderson
6871d539a8 Implemented a new "kmem -h" option that displays the address of
each hugepage hstate array entry, its hugepage size, its free and
total counts, and name string.
(anderson@redhat.com)
2014-05-16 17:19:23 -04:00
Dave Anderson
3d988346e7 Fix fprintf warning in previous patch when building with "make [wW]arn". 2014-05-05 15:50:41 -04:00
Dave Anderson
b13cab01c9 Implemented a new capability for the "ptov" command that takes a
per-cpu offset and cpu specification argument and translates it
into the kernel virtual addresses for the cpus specified.
(anderson@redhat.com)
2014-05-05 15:38:14 -04:00
Dave Anderson
32aa6bbbf7 Made the "kmem -f <address>" and "kmem <address>" options more
efficient by using the new do_list() callback function feature
as well as restricting the search to only the NUMA node that
contains the address.
(anderson@redhat.com)
2014-03-17 16:57:48 -04:00
Dave Anderson
ed28aca0c0 Fix for the "kmem -F" display and the "kmem -f <page-address>"
or "kmem <page-address> options.  Without the patch, the first
page in a list of free page blocks is not displayed on its own
line by "kmem -F", but rather at the end of the line showing the
area number, block size, and free_area struct address that the
page is linked to.  Due to this error, both "kmem <page-address>"
and "kmem -f <page-address>" would not find a page if it happened
to be the first page, or any of the contiguous pages in a multi-page
block, in the list of free pages or page blocks.
(anderson@redhat.com)
2014-03-14 10:30:35 -04:00
Dave Anderson
c0b7a74fc1 Fix to prevent a possible invocation-time error on Linux 3.7 and
later kernels configured with CONFIG_SLAB, running against vmcore
files filtered with the makedumpfile(8) facility.  Without the
patch, the message "crash: page excluded: kernel virtual address:
<address>  type: kmem_cache buffer" is immediately followed by
the message "crash: unable to initialize kmem slab cache subsystem".
Because of a kernel data structure name change from "cache_cache" to
"kmem_cache_boot", the crash utility failed to properly downsize
the stored size of the kernel's kmem_cache data structure from the
size indicated by the vmlinux debuginfo data.  This in turn could
lead to reading beyond the end of a kmem_cache data structure into
a page of memory that had been excluded from the vmcore.  The fix
was also applied to kernels configured with CONFIG_SLUB.
(anderson@redhat.com)
2014-02-20 15:36:25 -05:00
Dave Anderson
0c12ab1094 Create a new memory display format for an address that comes from
a slab object, consisting of the slab cache name and the address
value, separated by a colon, and encompassed in brackets:

  [slab-cache-name:address]

Enhanced the "bt -F" option such that if "-F" is entered twice,
and if the stack frame contents reference a slab cache object, both
the slab cache name and the stack contents will be displayed within
brackets.

Enhanced the "rd -S" option such that if "-S" is entered twice,
and if the memory contents reference a slab cache object, both the
slab cache name and the memory contents will be displayed within
brackets.
(anderson@redhat.com)
2014-01-29 15:12:01 -05:00
Dave Anderson
6a3ba6ae7b Fix for the "kmem -S" command for kernels that are configured with
CONFIG_SLUB.  Eash per-cpu slab object dump may show incorrect
ALLOCATED and FREE values; and as seen on Linux 3.5 and later
kernels, the TOTAL value and the number of individual objects dumped
may also be incorrect (too small).
(anderson@redhat.com)
 Please enter the c mmit message for your changes. Lines starting
2014-01-29 15:06:53 -05:00
Dave Anderson
bc21fc9263 Fix for the "kmem -S" command on Linux 3.1 and later kernels that are
configured with CONFIG_SLUB.  Because the the page structure's inuse
and objects fields used by SLUB were changed from discrete u16 types
to bit-fields within an unsigned int, the display of per-node partial
slab statistics are incorrect.  Without the patch, the TOTAL and
ALLOCATED values are incorrectly shown as equal values, and therefore
the FREE value is always zero.
(anderson@redhat.com)
2014-01-29 15:04:55 -05:00
Dave Anderson
03e3937ec7 Initial commit: crash-7.0.4 2014-01-28 16:46:11 -05:00