Hi Dave, et al.,
Having hacked my way around the self-sabotage on the temp file:
#define mWARN( _m, _a...) do { \
FILE * _sv_fp = fp; \
fp = stdout; \
error(WARNING, _m, ##_a); \
fp = _sv_fp; \
} while (0)
That also removed the mysterious problem of having a duplicate error
message show up on the console.
My next problem is that I seem to be getting inconsistencies between
the data I can print and the data I can find mapping information about:
crash> gdb set $tp = (struct cfs_trace_page *)0xffff8807fb590740
crash> p $tp->page
$7 = (cfs_page_t *) 0xffffea001bb1d1e8
crash> p *$tp->page
$8 = {
flags = 144115188075855872,
_count = {
counter = 1
},
[...]
lru = {
next = 0xdead000000100100,
prev = 0xdead000000200200
}
}
crash> kmem 0xffffea001bb1d1e8
kmem: WARNING: cannot find mem_map page for address: ffffea001bb1d1e8
879b1d1e8: kernel virtual address not found in mem map
So I can print out the page_t structure (renamed as cfs_page_t in Lustre)
at address 0xffff8807fb590740, but when I try to get kmem information about
it, it cannot find the page. What am I missing?
Thanks for hints/pointers! Regards, Bruce