Software Archive
Read-only legacy content
17061 Discussions

What does for_lub_mgt do?

Intel_C_Intel
Employee
658 Views
This is kind of a follow on to the earlier profiler question. We used profiler from the command line and function timing listed millions of calls to the _for__acquire_lun, __release_lun, __create_lub, and __deallocate_lub entry points in for_lub_mgt.obj. Looking over the Fortran, we could not explain these calls that appear to be repeatedly opening/closing files (my conjecture). Can you shed any light on what might be going on? Most of the rest of the function timing output is explainable in terms of the heavy numerical processing that we would expect from the program.

Thanks
0 Kudos
2 Replies
Jugoslav_Dujic
Valued Contributor II
658 Views
You can set profiler from IDE in Project/Settings/Link/General/Enable Profiling check box. After rebuild, "Tools/Profile" option will be enabled.

As for _for__acquire_lun & co., these are run-time library routines. You should probably ignore these in analysis of results -- each OPEN, READ, WRITE, ALLOCATE etc. results in a series of calls like this.

Final warning -- there is a nasty bug in the profiler that it "sees" only the first routine in a multiple-routine source file, and there's no workaround AFAIK.
If you have one routine-one file project, you should have no problems with that.
0 Kudos
Intel_C_Intel
Employee
658 Views
Thanks, Jugoslav.

I knew for_lub_mgt was a system routine; however, I did not think that our program did a lot of file opening and closing, so I wondered what else could cause extremely high counts of calls on that particular library component. My guess is the acquire/release_lun are getting and releasing logical units while the create/deallocate_lub entries are getting space to store logical blocks of data.

As I started thinking it over, I realized that someone else in the company is working on increasing the efficiency of access to a large database that this program uses - the profile result may simply reflect the inefficiencies in present design - too many index lookup and get data block calls.

Once I determine this for sure, I will let the Forum know.
0 Kudos
Reply