Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Sudheer Chunduri
darshan
Commits
def2fe28
Commit
def2fe28
authored
Aug 09, 2016
by
Shane Snyder
Browse files
bug fixes in disabling instr. in modules
parent
81c31e82
Changes
7
Hide whitespace changes
Inline
Side-by-side
darshan-runtime/lib/darshan-hdf5.c
View file @
def2fe28
...
...
@@ -69,11 +69,12 @@ static int my_rank = -1;
#define HDF5_PRE_RECORD() do { \
HDF5_LOCK(); \
if(!hdf5_runtime && !instrumentation_disabled) hdf5_runtime_initialize(); \
if(!hdf5_runtime) { \
HDF5_UNLOCK(); \
return(ret); \
if(!instrumentation_disabled) { \
if(!hdf5_runtime) hdf5_runtime_initialize(); \
if(hdf5_runtime) break; \
} \
HDF5_UNLOCK(); \
return(ret); \
} while(0)
#define HDF5_POST_RECORD() do { \
...
...
@@ -339,6 +340,7 @@ static void hdf5_cleanup_runtime()
free
(
hdf5_runtime
);
hdf5_runtime
=
NULL
;
instrumentation_disabled
=
0
;
return
;
}
...
...
@@ -365,6 +367,10 @@ static void hdf5_shutdown(
HDF5_LOCK
();
assert
(
hdf5_runtime
);
/* disable further instrumentation */
instrumentation_disabled
=
1
;
hdf5_rec_count
=
hdf5_runtime
->
file_rec_count
;
/* if there are globally shared files, do a shared file reduction */
...
...
@@ -440,9 +446,6 @@ static void hdf5_shutdown(
/* shutdown internal structures used for instrumenting */
hdf5_cleanup_runtime
();
/* disable further instrumentation */
instrumentation_disabled
=
1
;
HDF5_UNLOCK
();
return
;
}
...
...
darshan-runtime/lib/darshan-lustre.c
View file @
def2fe28
...
...
@@ -61,10 +61,14 @@ void darshan_instrument_lustre_file(const char* filepath, int fd)
int
ret
;
LUSTRE_LOCK
();
if
(
instrumentation_disabled
)
{
LUSTRE_UNLOCK
();
return
;
}
/* try to init module if not already and if instrumentation isn't disabled */
if
(
!
lustre_runtime
&&
!
instrumentation_disabled
)
lustre_runtime_initialize
();
/* try to init module if not already */
if
(
!
lustre_runtime
)
lustre_runtime_initialize
();
/* if we aren't initialized, just back out */
if
(
!
lustre_runtime
)
...
...
@@ -226,6 +230,10 @@ static void lustre_shutdown(
LUSTRE_LOCK
();
assert
(
lustre_runtime
);
/* disable further instrumentation while we shutdown */
instrumentation_disabled
=
1
;
lustre_runtime
->
record_buffer
=
*
lustre_buf
;
lustre_runtime
->
record_buffer_size
=
*
lustre_buf_sz
;
...
...
@@ -268,9 +276,7 @@ static void lustre_shutdown(
darshan_clear_record_refs
(
&
(
lustre_runtime
->
record_id_hash
),
1
);
free
(
lustre_runtime
);
lustre_runtime
=
NULL
;
/* disable further instrumentation */
instrumentation_disabled
=
1
;
instrumentation_disabled
=
0
;
LUSTRE_UNLOCK
();
return
;
...
...
darshan-runtime/lib/darshan-mpiio.c
View file @
def2fe28
...
...
@@ -97,11 +97,12 @@ static int my_rank = -1;
#define MPIIO_PRE_RECORD() do { \
MPIIO_LOCK(); \
if(!mpiio_runtime && !instrumentation_disabled) mpiio_runtime_initialize(); \
if(!mpiio_runtime) { \
MPIIO_UNLOCK(); \
return(ret); \
if(!instrumentation_disabled) { \
if(!mpiio_runtime) mpiio_runtime_initialize(); \
if(mpiio_runtime) break; \
} \
MPIIO_UNLOCK(); \
return(ret); \
} while(0)
#define MPIIO_POST_RECORD() do { \
...
...
@@ -1169,6 +1170,7 @@ static void mpiio_cleanup_runtime()
free
(
mpiio_runtime
);
mpiio_runtime
=
NULL
;
instrumentation_disabled
=
0
;
return
;
}
...
...
@@ -1276,6 +1278,10 @@ static void mpiio_shutdown(
MPIIO_LOCK
();
assert
(
mpiio_runtime
);
/* disable further instrumentation while we shutdown */
instrumentation_disabled
=
1
;
mpiio_rec_count
=
mpiio_runtime
->
file_rec_count
;
/* perform any final transformations on MPIIO file records before
...
...
@@ -1384,9 +1390,6 @@ static void mpiio_shutdown(
/* shutdown internal structures used for instrumenting */
mpiio_cleanup_runtime
();
/* disable further instrumentation */
instrumentation_disabled
=
1
;
MPIIO_UNLOCK
();
return
;
}
...
...
darshan-runtime/lib/darshan-null.c
View file @
def2fe28
...
...
@@ -116,11 +116,12 @@ static int my_rank = -1;
*/
#define NULL_PRE_RECORD() do { \
NULL_LOCK(); \
if(!null_runtime && !instrumentation_disabled) null_runtime_initialize(); \
if(!null_runtime) { \
NULL_UNLOCK(); \
return(ret); \
if(!instrumentation_disabled) { \
if(!null_runtime) null_runtime_initialize(); \
if(null_runtime) break; \
} \
NULL_UNLOCK(); \
return(ret); \
} while(0)
/* the NULL_POST_RECORD macro is executed after performing NULL
...
...
@@ -294,6 +295,7 @@ static void null_cleanup_runtime()
free
(
null_runtime
);
null_runtime
=
NULL
;
instrumentation_disabled
=
0
;
return
;
}
...
...
@@ -315,6 +317,9 @@ static void null_shutdown(
NULL_LOCK
();
assert
(
null_runtime
);
/* disable further instrumentation while we shutdown */
instrumentation_disabled
=
1
;
/* NOTE: this function can be used to run collective operations prior to
* shutting down the module, as implied by the MPI communicator passed in
* as the first agrument. Typically, module developers will want to run a
...
...
@@ -336,9 +341,6 @@ static void null_shutdown(
/* shutdown internal structures used for instrumenting */
null_cleanup_runtime
();
/* disable further instrumentation */
instrumentation_disabled
=
1
;
NULL_UNLOCK
();
return
;
}
...
...
darshan-runtime/lib/darshan-pnetcdf.c
View file @
def2fe28
...
...
@@ -65,11 +65,12 @@ static int my_rank = -1;
#define PNETCDF_PRE_RECORD() do { \
PNETCDF_LOCK(); \
if(!pnetcdf_runtime && !instrumentation_disabled) pnetcdf_runtime_initialize(); \
if(!pnetcdf_runtime) { \
PNETCDF_UNLOCK(); \
return(ret); \
if(!instrumentation_disabled) { \
if(!pnetcdf_runtime) pnetcdf_runtime_initialize(); \
if(pnetcdf_runtime) break; \
} \
PNETCDF_UNLOCK(); \
return(ret); \
} while(0)
#define PNETCDF_POST_RECORD() do { \
...
...
@@ -336,6 +337,7 @@ static void pnetcdf_cleanup_runtime()
free
(
pnetcdf_runtime
);
pnetcdf_runtime
=
NULL
;
instrumentation_disabled
=
0
;
return
;
}
...
...
@@ -363,6 +365,10 @@ static void pnetcdf_shutdown(
PNETCDF_LOCK
();
assert
(
pnetcdf_runtime
);
/* disable further instrumentation while we shutdown */
instrumentation_disabled
=
1
;
pnetcdf_rec_count
=
pnetcdf_runtime
->
file_rec_count
;
/* if there are globally shared files, do a shared file reduction */
...
...
@@ -439,9 +445,6 @@ static void pnetcdf_shutdown(
/* shutdown internal structures used for instrumenting */
pnetcdf_cleanup_runtime
();
/* disable further instrumentation */
instrumentation_disabled
=
1
;
PNETCDF_UNLOCK
();
return
;
}
...
...
darshan-runtime/lib/darshan-posix.c
View file @
def2fe28
...
...
@@ -168,11 +168,12 @@ static int darshan_mem_alignment = 1;
#define POSIX_PRE_RECORD() do { \
POSIX_LOCK(); \
if(!posix_runtime && !instrumentation_disabled) posix_runtime_initialize(); \
if(!posix_runtime) { \
POSIX_UNLOCK(); \
return(ret); \
if(!instrumentation_disabled) { \
if(!posix_runtime) posix_runtime_initialize(); \
if(posix_runtime) break; \
} \
POSIX_UNLOCK(); \
return(ret); \
} while(0)
#define POSIX_POST_RECORD() do { \
...
...
@@ -1684,6 +1685,7 @@ static void posix_cleanup_runtime()
free
(
posix_runtime
);
posix_runtime
=
NULL
;
instrumentation_disabled
=
0
;
return
;
}
...
...
@@ -1783,6 +1785,10 @@ static void posix_shutdown(
POSIX_LOCK
();
assert
(
posix_runtime
);
/* disable instrumentation while we shutdown */
instrumentation_disabled
=
1
;
posix_rec_count
=
posix_runtime
->
file_rec_count
;
/* perform any final transformations on POSIX file records before
...
...
@@ -1892,9 +1898,6 @@ static void posix_shutdown(
/* shutdown internal structures used for instrumenting */
posix_cleanup_runtime
();
/* disable further instrumentation */
instrumentation_disabled
=
1
;
POSIX_UNLOCK
();
return
;
}
...
...
darshan-runtime/lib/darshan-stdio.c
View file @
def2fe28
...
...
@@ -160,11 +160,12 @@ static void stdio_cleanup_runtime();
#define STDIO_PRE_RECORD() do { \
STDIO_LOCK(); \
if(!stdio_runtime && !instrumentation_disabled) stdio_runtime_initialize(); \
if(!stdio_runtime) { \
STDIO_UNLOCK(); \
return(ret); \
if(!instrumentation_disabled) { \
if(!stdio_runtime) stdio_runtime_initialize(); \
if(stdio_runtime) break; \
} \
STDIO_UNLOCK(); \
return(ret); \
} while(0)
#define STDIO_POST_RECORD() do { \
...
...
@@ -728,7 +729,11 @@ void DARSHAN_DECL(rewind)(FILE *stream)
* value in this wrapper.
*/
STDIO_LOCK
();
if
(
!
stdio_runtime
&&
!
instrumentation_disabled
)
stdio_runtime_initialize
();
if
(
instrumentation_disabled
)
{
STDIO_UNLOCK
();
return
;
}
if
(
!
stdio_runtime
)
stdio_runtime_initialize
();
if
(
!
stdio_runtime
)
{
STDIO_UNLOCK
();
return
;
...
...
@@ -912,10 +917,6 @@ static void stdio_runtime_initialize()
/* try to store default number of records for this module */
stdio_buf_size
=
DARSHAN_DEF_MOD_REC_COUNT
*
sizeof
(
struct
darshan_stdio_file
);
/* don't do anything if already initialized or instrumenation is disabled */
if
(
stdio_runtime
||
instrumentation_disabled
)
return
;
/* register the stdio module with darshan core */
darshan_core_register_module
(
DARSHAN_STDIO_MOD
,
...
...
@@ -1070,6 +1071,10 @@ static void stdio_shutdown(
STDIO_LOCK
();
assert
(
stdio_runtime
);
/* disable further instrumentation */
instrumentation_disabled
=
1
;
stdio_rec_count
=
stdio_runtime
->
file_rec_count
;
/* if there are globally shared files, do a shared file reduction */
...
...
@@ -1173,9 +1178,6 @@ static void stdio_shutdown(
/* shutdown internal structures used for instrumenting */
stdio_cleanup_runtime
();
/* disable further instrumentation */
instrumentation_disabled
=
1
;
STDIO_UNLOCK
();
return
;
...
...
@@ -1239,6 +1241,7 @@ static void stdio_cleanup_runtime()
free
(
stdio_runtime
);
stdio_runtime
=
NULL
;
instrumentation_disabled
=
0
;
return
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment