*/
s64 pidunique = -1LL;
+extern struct chan_info_struct chan_infos[];
+
struct list_head blocked_consumers = LIST_HEAD_INIT(blocked_consumers);
static struct ustcomm_app ustcomm_app;
{
int result;
char* autoprobe_val = NULL;
+ char* subbuffer_size_val = NULL;
+ char* subbuffer_count_val = NULL;
+ unsigned int subbuffer_size;
+ unsigned int subbuffer_count;
+ unsigned int power;
/* Assign the pidunique, to be able to differentiate the processes with same
* pid, (before and after an exec).
}
}
+ subbuffer_size_val = getenv("UST_SUBBUF_SIZE");
+ if(subbuffer_size_val) {
+ sscanf(subbuffer_size_val, "%u", &subbuffer_size);
+ power = pow2_higher_or_eq(subbuffer_size);
+ if(power != subbuffer_size)
+ WARN("using the next power of two for buffer size = %u\n", power);
+ chan_infos[LTT_CHANNEL_UST].def_subbufsize = power;
+ }
+
+ subbuffer_count_val = getenv("UST_SUBBUF_NUM");
+ if(subbuffer_count_val) {
+ sscanf(subbuffer_count_val, "%u", &subbuffer_count);
+ if(subbuffer_count < 2)
+ subbuffer_count = 2;
+ chan_infos[LTT_CHANNEL_UST].def_subbufcount = subbuffer_count;
+ }
+
if(getenv("UST_TRACE")) {
char trace_name[] = "auto";
char trace_type[] = "ustrelay";
inform_consumer_daemon(trace_name);
}
-
return;
/* should decrementally destroy stuff if error */
ltt_statedump_default;
struct module *ltt_statedump_owner;
-struct chan_info_struct {
- const char *name;
- unsigned int def_subbufsize;
- unsigned int def_subbufcount;
-} chan_infos[] = {
+struct chan_info_struct chan_infos[] = {
[LTT_CHANNEL_METADATA] = {
LTT_METADATA_CHANNEL,
LTT_DEFAULT_SUBBUF_SIZE_LOW,
echo " -m Instrument malloc calls." 2>/dev/stderr
echo " -f Also trace forked processes." 2>/dev/stderr
echo " -s Use system-wide daemon instead of creating one for this session." 2>/dev/stderr
+ echo " -S Specify the subbuffer size." 2>/dev/stderr
+ echo " -N Specify the number of subbuffers." 2>/dev/stderr
}
-while getopts ":hlLmfsW" options; do
+while getopts ":hlLmfsWS:N:" options; do
case $options in
l) arg_preload_libust=1;;
L) arg_ld_std_ust=1;;
f) arg_preload_fork=1;;
s) arg_syswide_daemon=1;;
W) where=1;;
+ S) export UST_SUBBUF_SIZE=$OPTARG;;
+ N) export UST_SUBBUF_NUM=$OPTARG;;
h) usage;
exit 0;;
\?) usage