- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- Why calls to functions in libclntsh.so often come ...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-23-2012 03:53 AM
11-23-2012 03:53 AM
Re: Why calls to functions in libclntsh.so often come from *ROOT* in the Call Graph section?
>I attached source.zip.
Does it have libclntsh.so? If not, it is a deal breaker. (And you probably don't have permission to supply it.)
I.e. The test case must be self contained except for standard HP-UX headers/shlibs.
>I thought that it would give to me a more correct caliper report.
Since you can't control libclntsh.so, anything in there is fixed. The only thing you can change is useless calls to it.
>main () -> threadfunc() -> OCIStmtFetch() -> kpufch()
Assuming kpufch isn't recursive. Your test_oci.gdb.txt didn't show recursion. (Tail recursion would be hidden.)
>Am I right that a more correct libclntsh.so.11.1::OCIStmtFetch might look like this (roughly):
Well, the kpufch and $cold_kpufch should align:
100.00 321/321 100 test_oci::threadfunc(void*) [10]
[38] 5.0 1.87? 321? libclntsh.so.11.1::OCIStmtFetch [38]
?? ?? ?? libclntsh.so.11.1::kpufch [26]
98.13 378/378 100 libclntsh.so.11.1::$cold_kpufch [43]
And numbers adjusted.
>Am I right that there must be two items under OCIStmtFetch() and increased % Total Hits?
It sure seems like it. Or only one combined item under OCIStmtFetch for my suggestion 1).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-23-2012 04:16 AM
11-23-2012 04:16 AM
Re: Why calls to functions in libclntsh.so often come from *ROOT* in the Call Graph section?
Thanks a lot
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-25-2012 01:20 AM - edited 11-25-2012 01:22 AM
11-25-2012 01:20 AM - edited 11-25-2012 01:22 AM
SolutionOk, I was successful in converting my gedanken experiment into a real test case. The hardest part was to make it take enough time to get enough samples.
I filed an enhancement for you about Caliper and cold code:
QXCR1001253661: Problems with scgprof and cold code, parent is *ROOT*
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-26-2012 08:26 PM - edited 11-26-2012 08:35 PM
11-26-2012 08:26 PM - edited 11-26-2012 08:35 PM
Re: Why calls to functions in libclntsh.so often come from *ROOT* in the Call Graph section?
> I filed an enhancement for you about Caliper and cold code:
> QXCR1001253661: Problems with scgprof and cold code, parent is *ROOT*
Please mention in QXCR1001253661 that sometimes there are completely different situations when a $cold_ function has a proper parent while the function itself has *ROOT* as a parent.
This was in one of uploaded Caliper reports:
------------------------------------------------------------------------
100.00 1 *ROOT* [1]
[26] 3.7 6.41 - libclntsh.so.11.1::kpufch [26]
85.07 70/93 75 libclntsh.so.11.1::kpufch0 [24]
8.51 76/316 24 libclntsh.so.11.1::$cold_kpummTLSGET1 [62]
------------------------------------------------------------------------
------------------------------------------------------------------------
100.00 74/74 100 libclntsh.so.11.1::OCIStmtFetch [41]
[44] 1.9 54.38 74 libclntsh.so.11.1::$cold_kpufch [44]
12.12 226/1486 15 libclntsh.so.11.1::sltstgi [51]
12.06 185/1432 13 libclntsh.so.11.1::sltstcu [45]
10.02 262/1487 18 libclntsh.so.11.1::sltsmnr [69]
6.81 204/1406 15 libclntsh.so.11.1::sltsmna [75]
4.61 229/1352 17 libclntsh.so.11.1::sltstan [104]
------------------------------------------------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-26-2012 09:21 PM - edited 11-26-2012 09:23 PM
11-26-2012 09:21 PM - edited 11-26-2012 09:23 PM
Re: Why calls to functions in libclntsh.so often come from *ROOT* in the Call Graph section?
>Please mention in QXCR1001253661 that sometimes there are completely different situations
I've included the URL of this topic, so hopefully they will see all if the info here, a real example.
I did find some existing Caliper bugs for cold code for cgprof, where some of the things I guessed/mentioned were already known.
- « Previous
-
- 1
- 2
- Next »