HPCToolkit / hpcviewer.e4

Eclipse 4 version of hpcviewer
Other
9 stars 0 forks source link

Dualism of inline procedure: is it a proper procedure or not? #129

Closed laksono closed 3 years ago

laksono commented 3 years ago

In the viewer, an inline procedure sometimes considers a proper function, but sometimes like a function body (something like loop). If it's both procedure and a function body, it causes confusion in the total cost.

For instance, in the top-down view we have __GI__strcoll_l calls inline function [I] inlined from strcoll_l.c and both has the same exclusive cost (1.03e-04 33%) and if we sum all the exclusive costs, it will be more than 100%.

image

I think the inline procedure should be treated like a loop and shouldn't have the exclusive cost.

Inline procedure on the bottom-up view (Extra): image

@jmellorcrummey any opinion?

jmellorcrummey commented 3 years ago

@laksono in this case, the notation "[i] inlined from ..." doesn't represent an inlined procedure. As @mwkrentel would say, this represents the "single alien" case where we see code from elsewhere, but we don't have a proper callsite for a proper inlined function. in such cases, i think we should treat these not as functions in the bottom-up view.

does that make sense?

laksono commented 3 years ago

Yup. That makes sense.