Skip to content

Commit e97c915

Browse files
pablodelaratkanteck
authored andcommitted
Add parenthesis around parameters in macros
Signed-off-by: Pablo de Lara <[email protected]>
1 parent 199a0a8 commit e97c915

File tree

3 files changed

+67
-47
lines changed

3 files changed

+67
-47
lines changed

erasure_code/erasure_code_update_perf.c

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,24 @@ decode_test(int m, int k, u8 **update_buffs, u8 **recov, u8 *a, u8 *src_in_err,
150150
return 0;
151151
}
152152

153+
// Helper function for single source benchmark
154+
void
155+
encode_single_src_test(const int m, const int k, u8 *g_tbls, u8 **perf_update_buffs, u8 *a)
156+
{
157+
// Make parity vects
158+
ec_init_tables(k, m - k, &a[k * k], g_tbls);
159+
FUNCTION_UNDER_TEST(TEST_LEN(m), k, m - k, 0, g_tbls, perf_update_buffs[0],
160+
&perf_update_buffs[k]);
161+
}
162+
163+
// Helper function for simple single source benchmark
164+
void
165+
encode_single_src_simple_test(const int m, const int k, u8 *g_tbls, u8 **perf_update_buffs, u8 *a)
166+
{
167+
FUNCTION_UNDER_TEST(TEST_LEN(m), k, m - k, 0, g_tbls, perf_update_buffs[0],
168+
&perf_update_buffs[k]);
169+
}
170+
153171
int
154172
main(int argc, char *argv[])
155173
{
@@ -327,18 +345,13 @@ main(int argc, char *argv[])
327345

328346
// Start encode test
329347
BENCHMARK(&start, BENCHMARK_TIME,
330-
// Make parity vects
331-
ec_init_tables(k, m - k, &a[k * k], g_tbls);
332-
FUNCTION_UNDER_TEST(TEST_LEN(m), k, m - k, 0, g_tbls, perf_update_buffs[0],
333-
&perf_update_buffs[k]));
348+
encode_single_src_test(m, k, g_tbls, perf_update_buffs, a));
334349
printf(xstr(FUNCTION_UNDER_TEST) "_single_src" TEST_TYPE_STR ": ");
335350
perf_print(start, (long long) (TEST_LEN(m)) * (m - k + 1));
336351

337352
// Start encode test
338353
BENCHMARK(&start, BENCHMARK_TIME,
339-
// Make parity vects
340-
FUNCTION_UNDER_TEST(TEST_LEN(m), k, m - k, 0, g_tbls, perf_update_buffs[0],
341-
&perf_update_buffs[k]));
354+
encode_single_src_simple_test(m, k, g_tbls, perf_update_buffs, a));
342355
printf(xstr(FUNCTION_UNDER_TEST) "_single_src_simple" TEST_TYPE_STR ": ");
343356
perf_print(start, (long long) (TEST_LEN(m)) * (m - k + 1));
344357

examples/ec/ec_piggyback_example.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,14 @@ static int
177177
gf_gen_decode_matrix(u8 *encode_matrix, u8 *decode_matrix, u8 *invert_matrix, u8 *temp_matrix,
178178
u8 *decode_index, u8 *frag_err_list, int nerrs, int k, int m);
179179

180+
static void
181+
encode_data_sparse(const int k, const int k2, const int p, const int len, u8 *g_tbls_faster,
182+
u8 **frag_ptrs, uint8_t **parity_ptrs, u8 *g_tbls)
183+
{
184+
ec_encode_data(len / 2, k, p, g_tbls_faster, frag_ptrs, parity_ptrs);
185+
ec_encode_data(len / 2, k2, p, &g_tbls[k2 * p * 32], frag_ptrs, &parity_ptrs[p]);
186+
}
187+
180188
int
181189
main(int argc, char *argv[])
182190
{
@@ -378,10 +386,8 @@ main(int argc, char *argv[])
378386
if (benchmark) {
379387
struct perf start;
380388
BENCHMARK(&start, BENCHMARK_TIME,
381-
ec_encode_data(len / 2, k, p, g_tbls_faster, frag_ptrs,
382-
parity_ptrs);
383-
ec_encode_data(len / 2, k2, p, &g_tbls[k2 * p * 32], frag_ptrs,
384-
&parity_ptrs[p]));
389+
encode_data_sparse(k, k2, p, len, g_tbls_faster, frag_ptrs,
390+
parity_ptrs, g_tbls));
385391
printf("ec_piggyback_encode_sparse: ");
386392
perf_print(start, m2 * len / 2);
387393
}

include/test.h

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -240,63 +240,64 @@ estimate_perf_iterations(struct perf *p, unsigned long long runs, unsigned long
240240
}
241241

242242
#define CALIBRATE(PERF, FUNC_CALL) \
243-
{ \
243+
do { \
244244
unsigned long long _i, _iter = 1; \
245-
perf_start(PERF); \
246-
FUNC_CALL; \
247-
perf_pause(PERF); \
245+
perf_start((PERF)); \
246+
(FUNC_CALL); \
247+
perf_pause((PERF)); \
248248
\
249-
while (get_base_elapsed(PERF) < CALIBRATE_TIME) { \
250-
_iter = estimate_perf_iterations(PERF, _iter, 2 * CALIBRATE_TIME); \
251-
perf_start(PERF); \
249+
while (get_base_elapsed((PERF)) < CALIBRATE_TIME) { \
250+
_iter = estimate_perf_iterations((PERF), _iter, 2 * CALIBRATE_TIME); \
251+
perf_start((PERF)); \
252252
for (_i = 0; _i < _iter; _i++) { \
253-
FUNC_CALL; \
253+
(FUNC_CALL); \
254254
} \
255-
perf_stop(PERF); \
255+
perf_stop((PERF)); \
256256
} \
257-
(PERF)->iterations = _iter; \
258-
}
257+
((PERF))->iterations = _iter; \
258+
} while (0)
259259

260260
#define PERFORMANCE_TEST(PERF, RUN_TIME, FUNC_CALL) \
261-
{ \
262-
unsigned long long _i, _iter = (PERF)->iterations; \
263-
unsigned long long _run_total = RUN_TIME; \
261+
do { \
262+
unsigned long long _i, _iter = ((PERF))->iterations; \
263+
unsigned long long _run_total = (RUN_TIME); \
264264
_run_total *= UNIT_SCALE; \
265-
_iter = estimate_perf_iterations(PERF, _iter, _run_total); \
266-
(PERF)->iterations = 0; \
267-
perf_start(PERF); \
265+
_iter = estimate_perf_iterations((PERF), _iter, _run_total); \
266+
((PERF))->iterations = 0; \
267+
perf_start((PERF)); \
268268
for (_i = 0; _i < _iter; _i++) { \
269-
FUNC_CALL; \
269+
(FUNC_CALL); \
270270
} \
271-
perf_pause(PERF); \
272-
(PERF)->iterations += _iter; \
271+
perf_pause((PERF)); \
272+
((PERF))->iterations += _iter; \
273273
\
274-
if (get_base_elapsed(PERF) < _run_total && BENCHMARK_TYPE == BENCHMARK_MIN_TIME) { \
275-
_iter = estimate_perf_iterations(PERF, _iter, \
276-
_run_total - get_base_elapsed(PERF) + \
274+
if (get_base_elapsed((PERF)) < _run_total && \
275+
BENCHMARK_TYPE == BENCHMARK_MIN_TIME) { \
276+
_iter = estimate_perf_iterations((PERF), _iter, \
277+
_run_total - get_base_elapsed((PERF)) + \
277278
(UNIT_SCALE / 16)); \
278-
perf_continue(PERF); \
279+
perf_continue((PERF)); \
279280
for (_i = 0; _i < _iter; _i++) { \
280-
FUNC_CALL; \
281+
(FUNC_CALL); \
281282
} \
282-
perf_pause(PERF); \
283-
(PERF)->iterations += _iter; \
283+
perf_pause((PERF)); \
284+
((PERF))->iterations += _iter; \
284285
} \
285-
}
286+
} while (0)
286287

287288
#define BENCHMARK(PERF, RUN_TIME, FUNC_CALL) \
288-
{ \
289+
do { \
289290
if ((RUN_TIME) > 0) { \
290-
CALIBRATE(PERF, FUNC_CALL); \
291-
PERFORMANCE_TEST(PERF, RUN_TIME, FUNC_CALL); \
291+
CALIBRATE((PERF), (FUNC_CALL)); \
292+
PERFORMANCE_TEST((PERF), (RUN_TIME), (FUNC_CALL)); \
292293
\
293294
} else { \
294-
(PERF)->iterations = 1; \
295-
perf_start(PERF); \
296-
FUNC_CALL; \
297-
perf_stop(PERF); \
295+
((PERF))->iterations = 1; \
296+
perf_start((PERF)); \
297+
(FUNC_CALL); \
298+
perf_stop((PERF)); \
298299
} \
299-
}
300+
} while (0)
300301

301302
#ifdef USE_CYCLES
302303
static inline void

0 commit comments

Comments
 (0)