summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Luong <sluong@cisco.com>2019-05-31 07:34:39 -0700
committerDave Barach <openvpp@barachs.net>2019-06-04 16:05:11 +0000
commitd31a59806aa8f0e4c6d8ce7857f543ed9814c69a (patch)
tree327b4cc9be0bb31eea7df887fb3c3a6488384006
parent68577d2982a345537e300e99a8c0e0311fe08ce1 (diff)
elog: make elog_string() multi-thread safe
elog is supposed to be thread safe. Yet elog_string() is not. To fulfill that promise, let's make elog_string() thread safe to avoid surprises. Change-Id: Iab82faa7cb6719777a66c3ff14775e59a6a68a20 Signed-off-by: Steven Luong <sluong@cisco.com>
-rw-r--r--src/vppinfra/elog.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/vppinfra/elog.c b/src/vppinfra/elog.c
index 6daed96719c..e28217cd590 100644
--- a/src/vppinfra/elog.c
+++ b/src/vppinfra/elog.c
@@ -563,6 +563,7 @@ elog_string (elog_main_t * em, char *fmt, ...)
u32 offset;
va_list va;
+ elog_lock (em);
va_start (va, fmt);
offset = vec_len (em->string_table);
em->string_table = (char *) va_format ((u8 *) em->string_table, fmt, &va);
@@ -571,6 +572,7 @@ elog_string (elog_main_t * em, char *fmt, ...)
/* Null terminate string if it is not already. */
if (vec_end (em->string_table)[-1] != 0)
vec_add1 (em->string_table, 0);
+ elog_unlock (em);
return offset;
}
ns/report/elements.yaml?h=oper-231211&id=5feb31a42f13c2e34df4b76a0b722b3fa7c439e0'>commitdiffstats
path: root/resources/tools/presentation/specifications/report/elements.yaml
blob: c7b20d0c9b3daaf63c1063ad6b06b27985a5b75d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# Test Operational Data - VPP Performance Operational Data 3n-skx
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 3n-skx"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,3N,SKX]}/"
  data: "vpp-3n-skx-curr-cov"
  filter: "all"

# Test Operational Data - VPP Performance Operational Data 2n-skx
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 2n-skx"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,2N,SKX]}/"
  data: "vpp-2n-skx-curr-cov"
  filter: "all"

# Test Operational Data - VPP Performance Operational Data 2n-zn2
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 2n-zn2"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,2N,ZN2]}/"
  data: "vpp-2n-zn2-curr-cov"
  filter: "all"

# Test Operational Data - VPP Performance Operational Data 2n-clx
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 2n-clx"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,2N,CLX]}/"
  data: "vpp-2n-clx-curr-cov"
  filter: "all"

# Test Operational Data - VPP Performance Operational Data 2n-icx
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 2n-icx"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,2N,ICX]}/"
  data: "vpp-2n-icx-curr-iter-best"
  filter: "'NDRPDR'"

# Test Operational Data - VPP Performance Operational Data 3n-icx
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 3n-icx"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,3N,ICX]}/"
  data: "vpp-3n-icx-curr-iter-best"
  filter: "'NDRPDR'"

# Test Operational Data - VPP Performance Operational Data 3n-tsh
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 3n-tsh"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,3N,TSH]}/"
  data: "vpp-3n-tsh-curr-cov"
  filter: "all"

# Test Operational Data - VPP Performance Operational Data 2n-tx2
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 2n-tx2"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,2N,TX2]}/"
  data: "vpp-2n-tx2-curr-cov"
  filter: "all"

# Test Operational Data - VPP Performance Operational Data 3n-dnv
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 3n-dnv"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,3N,DNV]}/"
  data: "vpp-3n-dnv-curr-cov"
  filter: "all"

# Test Operational Data - VPP Performance Operational Data 2n-dnv
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 2n-dnv"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,2N,DNV]}/"
  data: "vpp-2n-dnv-curr-cov"
  filter: "all"

# Test Operational Data - VPP Performance Operational Data 2n-aws
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 2n-aws"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,2N,AWS]}/"
  data: "vpp-2n-aws-curr-cov"
  filter: "all"

# Test Operational Data - VPP Performance Operational Data 3n-aws
- type: "table"
  title: "Test Operational Data - VPP Performance Operational Data 3n-aws"
  algorithm: "table_oper_data_html"
  output-file: "{DIR[DTO,PERF,VPP,3N,AWS]}/"
  data: "vpp-3n-aws-curr-cov"
  filter: "all"

# VPP Performance Operational
- type: "file"
  title: "VPP Performance Operational"
  algorithm: "file_details_split_html"
  output-file: "{DIR[DTO,PERF,VPP,ALL]}"
  dir-tables:
    - "{DIR[DTO,PERF,VPP,2N,SKX]}"
    - "{DIR[DTO,PERF,VPP,3N,SKX]}"
    - "{DIR[DTO,PERF,VPP,2N,CLX]}"
    - "{DIR[DTO,PERF,VPP,2N,ICX]}"
    - "{DIR[DTO,PERF,VPP,3N,ICX]}"
    - "{DIR[DTO,PERF,VPP,2N,ZN2]}"
    - "{DIR[DTO,PERF,VPP,3N,TSH]}"
    - "{DIR[DTO,PERF,VPP,2N,TX2]}"
    - "{DIR[DTO,PERF,VPP,2N,DNV]}"
    - "{DIR[DTO,PERF,VPP,3N,DNV]}"
    - "{DIR[DTO,PERF,VPP,2N,AWS]}"
    - "{DIR[DTO,PERF,VPP,3N,AWS]}"
  data:
    - "vpp-2n-skx-curr-cov"
    - "vpp-3n-skx-curr-cov"
    - "vpp-2n-clx-curr-cov"
    - "vpp-2n-icx-curr-iter-best"
    - "vpp-3n-icx-curr-iter-best"
    - "vpp-2n-zn2-curr-cov"
    - "vpp-3n-tsh-curr-cov"
    - "vpp-2n-tx2-curr-cov"
    - "vpp-2n-dnv-curr-cov"
    - "vpp-3n-dnv-curr-cov"
    - "vpp-2n-aws-curr-cov"
    - "vpp-3n-aws-curr-cov"
  filter: "'NDRPDR'"
  data-start-level: 4
  order-chapters:
    level-1:
      - "l2"
      - "ip4"
      - "ip6"
      - "srv6"
      - "ip4_tunnels"
      - "ip6_tunnels"
      - "vm_vhost"
      - "container_memif"
      - "crypto"
      - "vts"
      - "lb"
      - "nfv_density"
      - "hoststack"
    level-2:
      - "2n-skx"
      - "3n-skx"
      - "2n-clx"
      - "2n-icx"
      - "3n-icx"
      - "2n-zn2"
      - "3n-tsh"
      - "2n-tx2"
      - "2n-dnv"
      - "3n-dnv"
      - "2n-aws"
      - "3n-aws"
    level-3:
      - "xl710"
      - "x520"
      - "xxv710"
      - "x710"
      - "e810cq"
      - "x553"
      - "cx556a"
      - "vic1227"
      - "vic1385"
      - "ena"