Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Xin Wang
codes-dev
Commits
1dc14cdb
Commit
1dc14cdb
authored
Dec 02, 2016
by
Caitlin Ross
Browse files
cleaning up event tracing additions
parent
2c28436c
Changes
7
Hide whitespace changes
Inline
Side-by-side
codes/lp-type-lookup.h
View file @
1dc14cdb
...
...
@@ -21,8 +21,8 @@ const tw_lptype* lp_type_lookup(const char* name);
/* register an LP with CODES/ROSS */
void
lp_type_register
(
const
char
*
name
,
const
tw_lptype
*
type
);
void
e
v
_type_register
(
const
char
*
name
,
const
st_
event_collect
*
type
);
const
st_
event_collect
*
evcol
_type_lookup
(
const
char
*
name
);
void
trac
e_type_register
(
const
char
*
name
,
const
st_
trace_type
*
type
);
const
st_
trace_type
*
trace
_type_lookup
(
const
char
*
name
);
#ifdef __cplusplus
}
#endif
...
...
codes/model-net-method.h
View file @
1dc14cdb
...
...
@@ -63,8 +63,8 @@ struct model_net_method
revent_f
mn_sample_rc_fn
;
init_f
mn_sample_init_fn
;
final_f
mn_sample_fini_fn
;
void
(
*
mn_e
v
_register
)(
st_
event_collect
*
base_type
);
const
st_
event_collect
*
(
*
mn_get_
event
_type
)();
void
(
*
mn_
trac
e_register
)(
st_
trace_type
*
base_type
);
const
st_
trace_type
*
(
*
mn_get_
trace
_type
)();
};
extern
struct
model_net_method
*
method_array
[];
...
...
src/network-workloads/model-net-synthetic.c
View file @
1dc14cdb
...
...
@@ -106,42 +106,32 @@ tw_lptype svr_lp = {
sizeof
(
svr_state
),
};
void
rb_svr_event_collect
(
svr_msg
*
m
,
tw_lp
*
lp
,
char
*
buffer
)
/* setup for the ROSS event tracing
* can have a different function for rbev_trace_f and ev_trace_f
* but right now it is set to the same function for both
*/
void
svr_event_collect
(
svr_msg
*
m
,
tw_lp
*
lp
,
char
*
buffer
)
{
int
type
=
(
int
)
m
->
svr_event_type
;
memcpy
(
buffer
,
&
type
,
sizeof
(
type
));
if
(
type
<
0
||
type
>
3
)
{
tw_event
*
cev
=
(
tw_event
*
)(
m
-
1
);
char
grp_name
[
64
];
char
src_lp_type_name
[
64
];
char
dest_lp_type_name
[
64
];
char
ann
[
64
];
int
grp_index
,
lp_type_idx
,
rid
,
offs
;
codes_mapping_get_lp_info
(
cev
->
send_lp
,
grp_name
,
&
grp_index
,
src_lp_type_name
,
&
lp_type_idx
,
ann
,
&
rid
,
&
offs
);
codes_mapping_get_lp_info
(
lp
->
gid
,
grp_name
,
&
grp_index
,
dest_lp_type_name
,
&
lp_type_idx
,
ann
,
&
rid
,
&
offs
);
printf
(
"src: %s, dest: %s, recv_ts= %f, evtype: %d
\n
"
,
src_lp_type_name
,
dest_lp_type_name
,
tw_now
(
lp
),
m
->
svr_event_type
);
}
}
st_
event_collect
svr_event
_types
[]
=
{
{(
rbev_
col
_f
)
rb_
svr_event_collect
,
st_
trace_type
svr_trace
_types
[]
=
{
{(
rbev_
trace
_f
)
svr_event_collect
,
sizeof
(
int
),
(
ev_
col
_f
)
rb_
svr_event_collect
,
(
ev_
trace
_f
)
svr_event_collect
,
sizeof
(
int
)},
{
0
}
};
static
const
st_
event_collect
*
svr_get_
event
_type
(
void
)
static
const
st_
trace_type
*
svr_get_
trace
_type
s
(
void
)
{
return
(
&
svr_
event
_types
[
0
]);
return
(
&
svr_
trace
_types
[
0
]);
}
void
svr_register_
evcol
()
void
svr_register_
trace
()
{
e
v
_type_register
(
"server"
,
svr_get_
event
_type
());
trac
e_type_register
(
"server"
,
svr_get_
trace
_type
s
());
}
const
tw_optdef
app_opt
[]
=
...
...
@@ -403,12 +393,8 @@ int main(
model_net_register
();
svr_add_lp_type
();
if
(
g_st_ev_rb_collect
||
g_st_ev_collect
)
{
//dragonfly_register_evcol();
//router_register_evcol();
svr_register_evcol
();
}
if
(
g_st_ev_trace
)
svr_register_trace
();
codes_mapping_setup
();
...
...
src/networks/model-net/dragonfly.c
View file @
1dc14cdb
...
...
@@ -3256,48 +3256,36 @@ tw_lptype dragonfly_lps[] =
{
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
0
},
};
void
rb_event_collect
(
terminal_message
*
m
,
tw_lp
*
lp
,
char
*
buffer
)
/* For ROSS event tracing */
void
dragonfly_event_collect
(
terminal_message
*
m
,
tw_lp
*
lp
,
char
*
buffer
)
{
int
type
=
(
int
)
m
->
type
;
memcpy
(
buffer
,
&
type
,
sizeof
(
type
));
if
(
type
<
0
||
type
>
10
)
{
tw_event
*
cev
=
(
tw_event
*
)(
m
-
1
);
char
grp_name
[
64
];
char
src_lp_type_name
[
64
];
char
dest_lp_type_name
[
64
];
char
ann
[
64
];
int
grp_index
,
lp_type_idx
,
rid
,
offs
;
codes_mapping_get_lp_info
(
cev
->
send_lp
,
grp_name
,
&
grp_index
,
src_lp_type_name
,
&
lp_type_idx
,
ann
,
&
rid
,
&
offs
);
codes_mapping_get_lp_info
(
lp
->
gid
,
grp_name
,
&
grp_index
,
dest_lp_type_name
,
&
lp_type_idx
,
ann
,
&
rid
,
&
offs
);
printf
(
"src: %s, dest: %s, recv_ts= %f, evtype: %d
\n
"
,
src_lp_type_name
,
dest_lp_type_name
,
tw_now
(
lp
),
m
->
type
);
}
}
st_
event_collect
event
_types
[]
=
{
{(
rbev_
col_f
)
rb
_event_collect
,
st_
trace_type
dragonfly_trace
_types
[]
=
{
{(
rbev_
trace_f
)
dragonfly
_event_collect
,
sizeof
(
int
),
(
ev_
col_f
)
rb
_event_collect
,
(
ev_
trace_f
)
dragonfly
_event_collect
,
sizeof
(
int
)},
{
0
}
};
static
const
st_
event_collect
*
dragonfly_get_
event
_type
(
void
)
static
const
st_
trace_type
*
dragonfly_get_
trace
_type
s
(
void
)
{
return
(
&
event
_types
[
0
]);
return
(
&
dragonfly_trace
_types
[
0
]);
}
void
dragonfly_register_
evcol
(
st_event_collect
*
base_type
)
static
void
dragonfly_register_
trace
(
st_trace_type
*
base_type
)
{
e
v
_type_register
(
LP_CONFIG_NM_TERM
,
base_type
);
trac
e_type_register
(
LP_CONFIG_NM_TERM
,
base_type
);
}
void
router_register_
evcol
(
st_event_collect
*
base_type
)
static
void
router_register_
trace
(
st_trace_type
*
base_type
)
{
e
v
_type_register
(
LP_CONFIG_NM_ROUT
,
base_type
);
trac
e_type_register
(
LP_CONFIG_NM_ROUT
,
base_type
);
}
/*** END of ROSS event tracing additions */
/* returns the dragonfly lp type for lp registration */
static
const
tw_lptype
*
dragonfly_get_cn_lp_type
(
void
)
...
...
@@ -3334,9 +3322,9 @@ struct model_net_method dragonfly_method =
.
mn_sample_fn
=
(
void
*
)
dragonfly_sample_fn
,
.
mn_sample_rc_fn
=
(
void
*
)
dragonfly_sample_rc_fn
,
.
mn_sample_init_fn
=
(
void
*
)
dragonfly_sample_init
,
.
mn_sample_fini_fn
=
(
void
*
)
dragonfly_sample_fin
.
mn_e
v
_register
=
dragonfly_register_
evcol
,
.
mn_get_
event
_type
=
dragonfly_get_
event
_type
,
.
mn_sample_fini_fn
=
(
void
*
)
dragonfly_sample_fin
,
.
mn_
trac
e_register
=
dragonfly_register_
trace
,
.
mn_get_
trace
_type
=
dragonfly_get_
trace
_type
s
,
};
struct
model_net_method
dragonfly_router_method
=
...
...
@@ -3355,7 +3343,7 @@ struct model_net_method dragonfly_router_method =
.
mn_sample_fn
=
(
void
*
)
dragonfly_rsample_fn
,
.
mn_sample_rc_fn
=
(
void
*
)
dragonfly_rsample_rc_fn
,
.
mn_sample_init_fn
=
(
void
*
)
dragonfly_rsample_init
,
.
mn_sample_fini_fn
=
(
void
*
)
dragonfly_rsample_fin
.
mn_e
v
_register
=
router_register_
evcol
,
.
mn_get_
event
_type
=
dragonfly_get_
event
_type
,
.
mn_sample_fini_fn
=
(
void
*
)
dragonfly_rsample_fin
,
.
mn_
trac
e_register
=
router_register_
trace
,
.
mn_get_
trace
_type
=
dragonfly_get_
trace
_type
s
,
};
src/networks/model-net/model-net-lp.c
View file @
1dc14cdb
...
...
@@ -113,16 +113,20 @@ tw_lptype model_net_base_lp = {
sizeof
(
model_net_base_state
),
};
/* setup for the ROSS event tracing
* can have a different function for rbev_trace_f and ev_trace_f
* but right now it is set to the same function for both
*/
void
mn_event_collect
(
model_net_wrap_msg
*
m
,
tw_lp
*
lp
,
char
*
buffer
)
{
int
type
=
(
int
)
m
->
h
.
event_type
;
memcpy
(
buffer
,
&
type
,
sizeof
(
type
));
}
st_
event_collect
mn_event
_types
=
{
(
rbev_
col
_f
)
mn_event_collect
,
st_
trace_type
mn_trace
_types
=
{
(
rbev_
trace
_f
)
mn_event_collect
,
sizeof
(
int
),
(
ev_
col
_f
)
mn_event_collect
,
(
ev_
trace
_f
)
mn_event_collect
,
sizeof
(
int
),
};
...
...
@@ -164,12 +168,12 @@ void model_net_base_register(int *do_config_nets){
&
model_net_base_lp
);
else
method_array
[
i
]
->
mn_register
(
&
model_net_base_lp
);
if
(
g_st_ev_
rb_collect
||
g_st_ev_collect
)
if
(
g_st_ev_
trace
)
// for ROSS event tracing
{
if
(
method_array
[
i
]
->
mn_e
v
_register
==
NULL
)
e
v
_type_register
(
model_net_lp_config_names
[
i
],
&
mn_
event
_types
);
if
(
method_array
[
i
]
->
mn_
trac
e_register
==
NULL
)
trac
e_type_register
(
model_net_lp_config_names
[
i
],
&
mn_
trace
_types
);
else
method_array
[
i
]
->
mn_e
v
_register
(
&
mn_
event
_types
);
method_array
[
i
]
->
mn_
trac
e_register
(
&
mn_
trace
_types
);
}
}
}
...
...
src/util/codes_mapping.c
View file @
1dc14cdb
...
...
@@ -458,7 +458,7 @@ static void codes_mapping_init(void)
tw_lpid
nkp_per_pe
=
g_tw_nkp
;
tw_lpid
lpid
,
kpid
;
const
tw_lptype
*
lptype
;
const
st_
event_collect
*
ev
_type
;
const
st_
trace_type
*
trace
_type
;
/* have 16 kps per pe, this is the optimized configuration for ROSS custom mapping */
for
(
kpid
=
0
;
kpid
<
nkp_per_pe
;
kpid
++
)
...
...
@@ -489,10 +489,10 @@ static void codes_mapping_init(void)
else
/* sorry, const... */
tw_lp_settype
(
ross_lid
,
(
tw_lptype
*
)
lptype
);
if
(
g_st_ev_
rb_collect
||
g_st_ev_collect
)
if
(
g_st_ev_
trace
)
{
e
v
_type
=
evcol
_type_lookup
(
lp_type_name
);
st_ev
col
_settype
(
ross_lid
,
(
st_
event_collect
*
)
ev
_type
);
trac
e_type
=
trace
_type_lookup
(
lp_type_name
);
st_ev
trace
_settype
(
ross_lid
,
(
st_
trace_type
*
)
trace
_type
);
}
}
return
;
...
...
src/util/lp-type-lookup.c
View file @
1dc14cdb
...
...
@@ -16,7 +16,7 @@ struct lp_name_mapping
{
const
char
*
name
;
const
tw_lptype
*
type
;
const
st_
event_collect
*
ev
_type
;
const
st_
trace_type
*
trace
_type
;
};
static
struct
lp_name_mapping
map_array
[
MAX_LP_TYPES
];
...
...
@@ -48,7 +48,7 @@ const tw_lptype* lp_type_lookup(const char* name)
}
// needs to be called after lp_type_register()
void
e
v
_type_register
(
const
char
*
name
,
const
st_
event_collect
*
type
)
void
trac
e_type_register
(
const
char
*
name
,
const
st_
trace_type
*
type
)
{
int
i
;
...
...
@@ -56,12 +56,12 @@ void ev_type_register(const char* name, const st_event_collect* type)
{
if
(
strcmp
(
name
,
map_array
[
i
].
name
)
==
0
)
{
map_array
[
i
].
e
v
_type
=
type
;
map_array
[
i
].
trac
e_type
=
type
;
}
}
}
const
st_
event_collect
*
evcol
_type_lookup
(
const
char
*
name
)
const
st_
trace_type
*
trace
_type_lookup
(
const
char
*
name
)
{
int
i
;
...
...
@@ -69,7 +69,7 @@ const st_event_collect* evcol_type_lookup(const char* name)
{
if
(
strcmp
(
name
,
map_array
[
i
].
name
)
==
0
)
{
return
(
map_array
[
i
].
e
v
_type
);
return
(
map_array
[
i
].
trac
e_type
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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