Dave You were right it should be buffer_size instead of objectsize.(As obj_size is the size of debugging information). I modified function vm_init() and do_slab_chain_percpu_v2() to make it work with current dumps. This is just a code part to show how to fix the problem but it is not a patch as such... Please go through and let me know would it be good idea to write a new function (as you have suggested earlier) or is it possible to accommodate by calling do_slab_chain_percpu_v2() iteratively with different nodes by passing them as parameter. Changes to vm_init() if(MEMBER_EXISTS("kmem_cache","objsize")) MEMBER_OFFSET_INIT(kmem_cache_s_objsize, "kmem_cache", "objsize"); else if(MEMBER_EXISTS("kmem_cache","buffer_size")) MEMBER_OFFSET_INIT(kmem_cache_s_objsize, "kmem_cache", "buffer_size") Changes to do_slab_chain_percpu_v2() ulong start_address[MAX_NUMNODES]; if (!readmem(si->cache+OFFSET(kmem_cache_s_lists), KVADDR, &start_address[0], sizeof(ulong) * MAX_NUMNODES, "array nodelist array", RETURN_ON_ERROR)) {printf("\n Error encountered with readmem \n");exit(0);} for (i = 0; i < MAX_NUMNODES ; i++) { slab_chains[0] = start_address[i] + OFFSET(kmem_list3_slabs_partial); slab_chains[1] = start_address[i] + OFFSET(kmem_list3_slabs_full); slab_chains[2] = start_address[i] + OFFSET(kmem_list3_slabs_free); Thanks Sharyathi Nagesh > Sharyathi Nagesh wrote: > > > Dave > > I wanted to bring to notice two more issue that I am currently working. > > One regarding changes done with kmem_cache to make it NUMA compliant. > > 'lists' which was earlier pointing to kmem_list3 structure, lists has > > been renamed first as nodelists than it is made into an array of pointer > > to kmem_list3 structures. So now we have to traverse the whole list > > iteratively to get the same information. > > As a result of these change kmem -s command fails. To accomodate > > these changes we need to change the function do_slab_chain_percpu_v2 to > > access nodelists iteratively. Still working on it to figure out how I > > can accommodate these changes. > > Hi Sharyathi, > > Excellent! I really appreciate your undertaking of this task. > > Anyway, having gone through this kind of "keeping-up-with-the-slab-subsystem" > task many times, I would suggest that you move it into a new function rather > than re-working do_slab_chain_percpu_v2(). Even if there ends up being a bit > a bit of code duplication, future maintenance will be far easier if you make it > a new function. I would guess that development will be easier too, and you > won't have to worry about breaking backwards-compatibility. > > > > > Second objectsize in kmem_cache has been changed to object_size and this > > is enabled only on selecting config option CONFIG_DEBUG_SLAB in the > > kernel. > > That's true, but hasn't the functionality of the old "objsize" been replaced > by the new "buffer_size"? > > Anyway, again, I appreciate this very much. I had been planning to address > this, but have been sidetracked totally looking at xen kernel issues. > > Thanks, > Dave > >