[Crash-utility] Re: Question about fixing another crash annoyance...t

Bob Montgomery bob.montgomery at hp.com
Tue Sep 29 22:02:22 UTC 2009


On Tue, 2009-09-29 at 20:54 +0000, Dave Anderson wrote:
> ----- "Dave Anderson" <anderson at redhat.com> wrote:
> 
> > 
> > So the fix would be to first determine the cache_cache.buffer_size value,
> > and use that to initialize the size_table.kmem_cache_s value used by the 
> > "SIZE(kmem_cache_s)" macro.  Secondly, "vt->kmem_cache_len_nodes", which 
> > is also based upon the same MAX_NUMNODES array index value, needs to be
> > downsized as well.  It looks like if the kernel "nr_node_ids" exists as 
> > symbol (instead of a #define), then it should be used.
> 
> I'm thinking this patch should work:
> 
>  http://people.redhat.com/anderson/memory.patch
> 
> Dave

Dave,

You are faster than me at fixing crash:-)  I was just about to start on
the part for kmem_cache_len_nodes...

The patch fixes the problem on my example dump which previously said:
=====
please wait... (gathering kmem slab cache data)
crash: page excluded: kernel virtual address: ffff88022457a000  type:
"kmem_cache_s buffer"

crash: unable to initialize kmem slab cache subsystem
=====

It now says:
=====
please wait... (gathering kmem slab cache data)
kmem_cache_downsize: SIZE(kmem_cache_s): 872 cache_cache.buffer_size:
384
kmem_cache_downsize: nr_node_ids: 2
=====


In the meantime, I remembered "--zero_exclude", which makes for
a slightly dangerous workaround for the problem.  It fills in the
unnecessarily-accessed missing pages with zeros.

The output of "kmem -s" and "kmem -S" on my problem dump is the
same between your patched version and the old version running 
with --zero_exclude.  (I don't normally think of using zero_exclude
because it can mask both kernel bugs and makedumpfile bugs...)

Thanks for making that patch.  Is there anything left to
fix in crash ?-)

Bob Montgomery






More information about the Crash-utility mailing list