[Crash-utility] More 2.6.22 shifting sands...

Dave Anderson anderson at redhat.com
Fri Jul 27 13:38:51 UTC 2007


Just a head's up...

While tinkering around with a 2.6.22-8 kernel, after applying
Ken'ichi's patch to handle to the initialization-time fatal
error:

   crash: invalid size request: 0  type: "__per_cpu_offset"

it gets past that problem, but then fails like this:

   crash: invalid structure member offset: kmem_cache_s_c_num
          FILE: memory.c  LINE: 7042  FUNCTION: kmem_cache_init()

   [./crash] error trace: 8084dda => 80983a8 => 80ac45e => 8132074

     8132074: OFFSET_verify+118
     80ac45e: kmem_cache_init+416
     80983a8: vm_init+10365
     8084dda: main_loop+144

This problem is due to the replacement of the venerable kmalloc
slab subsystem in mm/slab.c with the new CONFIG_SLUB in mm/slub.c.
There's also the potential of CONFIG_SLOB in mm/slob.c, but it
appears that CONFIG_SLUB will be the kmalloc subsystem of the
future.

This initialization-time failure can be worked around by using
the "--no_kmem_cache" command line option.  In the short term,
I will fix it such that CONFIG_SLUB kernels will be recognized,
and kmem_cache_init() will not be called.  This obviously breaks
"kmem -s", and that command option will need to be completely
re-done to deal with this new subsystem.

Also, now that the CFS scheduler has been put into place, the
"runq" command no longer works.  Like "kmem -s" for CONFIG_SLUB,
that command will require a new implementation.

Dave








More information about the Crash-utility mailing list