|
@@ -902,6 +902,8 @@ static const char *config_term_names[__PARSE_EVENTS__TERM_TYPE_NR] = {
|
|
|
[PARSE_EVENTS__TERM_TYPE_NOINHERIT] = "no-inherit",
|
|
|
[PARSE_EVENTS__TERM_TYPE_INHERIT] = "inherit",
|
|
|
[PARSE_EVENTS__TERM_TYPE_MAX_STACK] = "max-stack",
|
|
|
+ [PARSE_EVENTS__TERM_TYPE_OVERWRITE] = "overwrite",
|
|
|
+ [PARSE_EVENTS__TERM_TYPE_NOOVERWRITE] = "no-overwrite",
|
|
|
};
|
|
|
|
|
|
static bool config_term_shrinked;
|
|
@@ -994,6 +996,12 @@ do { \
|
|
|
case PARSE_EVENTS__TERM_TYPE_NOINHERIT:
|
|
|
CHECK_TYPE_VAL(NUM);
|
|
|
break;
|
|
|
+ case PARSE_EVENTS__TERM_TYPE_OVERWRITE:
|
|
|
+ CHECK_TYPE_VAL(NUM);
|
|
|
+ break;
|
|
|
+ case PARSE_EVENTS__TERM_TYPE_NOOVERWRITE:
|
|
|
+ CHECK_TYPE_VAL(NUM);
|
|
|
+ break;
|
|
|
case PARSE_EVENTS__TERM_TYPE_NAME:
|
|
|
CHECK_TYPE_VAL(STR);
|
|
|
break;
|
|
@@ -1046,6 +1054,8 @@ static int config_term_tracepoint(struct perf_event_attr *attr,
|
|
|
case PARSE_EVENTS__TERM_TYPE_INHERIT:
|
|
|
case PARSE_EVENTS__TERM_TYPE_NOINHERIT:
|
|
|
case PARSE_EVENTS__TERM_TYPE_MAX_STACK:
|
|
|
+ case PARSE_EVENTS__TERM_TYPE_OVERWRITE:
|
|
|
+ case PARSE_EVENTS__TERM_TYPE_NOOVERWRITE:
|
|
|
return config_term_common(attr, term, err);
|
|
|
default:
|
|
|
if (err) {
|
|
@@ -1118,6 +1128,12 @@ do { \
|
|
|
case PARSE_EVENTS__TERM_TYPE_MAX_STACK:
|
|
|
ADD_CONFIG_TERM(MAX_STACK, max_stack, term->val.num);
|
|
|
break;
|
|
|
+ case PARSE_EVENTS__TERM_TYPE_OVERWRITE:
|
|
|
+ ADD_CONFIG_TERM(OVERWRITE, overwrite, term->val.num ? 1 : 0);
|
|
|
+ break;
|
|
|
+ case PARSE_EVENTS__TERM_TYPE_NOOVERWRITE:
|
|
|
+ ADD_CONFIG_TERM(OVERWRITE, overwrite, term->val.num ? 0 : 1);
|
|
|
+ break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
@@ -2412,9 +2428,9 @@ static void config_terms_list(char *buf, size_t buf_sz)
|
|
|
char *parse_events_formats_error_string(char *additional_terms)
|
|
|
{
|
|
|
char *str;
|
|
|
- /* "branch_type" is the longest name */
|
|
|
+ /* "no-overwrite" is the longest name */
|
|
|
char static_terms[__PARSE_EVENTS__TERM_TYPE_NR *
|
|
|
- (sizeof("branch_type") - 1)];
|
|
|
+ (sizeof("no-overwrite") - 1)];
|
|
|
|
|
|
config_terms_list(static_terms, sizeof(static_terms));
|
|
|
/* valid terms */
|