size in /proc/modules
/proc/modules size field includes init_size in 2.5. Why ?
The removal of sensible values in /proc/ksyms means that oprofile can no longer attribute module samples reliably. The only information we have is module_core address, and size == core_size+init_size. Since init code is removed in sys_init_module, this will overestimate, and can lead to overlapping with the start of another module, afaics.
In 2.4, we had size(.text), which could underestimate (think .text.exit), but that is not a big problem.
Rusty, does this fall under another one of your "corner cases" ? (what I would call "flaky code" ...)
Or I have I just missed something obvious ?
regards
john
Signature · 2 lines
"Anyone who quotes Rusty in their sig is an idiot." - me
In message <[email protected]> you write:
Quoted 9 lines
/proc/modulessize field includesinit_sizein 2.5. Why ?The removal of sensible values in
/proc/ksymsmeans that oprofile can no longer attribute module samples reliably. The only information we have ismodule_coreaddress, and size == core_size+init_size. Since init code is removed insys_init_module, this will overestimate, and can lead to overlapping with the start of another module, afaics.
Quoted 7 lines
In 2.4, we had size(.text), which could underestimate (think .text.exit), but that is not a big problem.
Rusty, does this fall under another one of your "corner cases" ? (what I would call "flaky code" ...)
Or I have I just missed something obvious ?
Yes, line 1328 of kernel/module.c, by the sound of it 8)
I was thinking of you when I added this, actually.
Hope that helps!
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.