tizen 2.3 release
[kernel/api/system-resource.git] / src / utils / cgroup-test.c
1 #include <config.h>
2 #include <stdio.h>
3 #include <time.h>
4 #include <unistd.h>
5 #include <inttypes.h>
6
7 #include "net-cls-cgroup.h"
8
9 int64_t timespecDiff(struct timespec *time_a, struct timespec *time_b)
10 {
11         return ((time_a->tv_sec * 1000000000) + time_a->tv_nsec) -
12            ((time_b->tv_sec * 1000000000) + time_b->tv_nsec);
13 }
14
15 #define START_MEASURE {\
16         struct timespec start, end; \
17         clock_gettime(CLOCK_MONOTONIC, &start);
18
19 #define END_MEASURE \
20         clock_gettime(CLOCK_MONOTONIC, &end); \
21         int64_t timeElapsed = timespecDiff(&end, &start);\
22         printf("time diff %"PRId64"\n", timeElapsed); \
23         }
24
25 #define TEST_NUM 100
26
27 int main(void)
28 {
29         int i = 0;
30         char cgroup_name[128];
31
32         printf("start measure");
33         for (; i < TEST_NUM; ++i) {
34                 sprintf(cgroup_name, "com.samsung.browser%d", i);
35                 START_MEASURE
36                 make_net_cls_cgroup_with_pid(i, cgroup_name);
37                 END_MEASURE
38         }
39
40         return 0;
41 }