File: parallel_map_access.bt

package info (click to toggle)
bpftrace 0.24.1-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 10,496 kB
  • sloc: cpp: 60,982; ansic: 10,952; python: 953; yacc: 665; sh: 536; lex: 295; makefile: 22
file content (24 lines) | stat: -rw-r--r-- 475 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Regression testing the map's thread safety.
// Bpftrace shouldn't crash during map's print/clear/zero operations
// while delete is called at the same time.
//
// For more information, please refer to:
// https://github.com/bpftrace/bpftrace/pull/2623

i:us:1 {
    @data[rand % 100] = count();
    if (rand % 5 == 0) {
        delete(@data, rand % 10);
    }
}

i:ms:1 {
    print(@data);
    clear(@data);
    zero(@data);
}

i:s:1 {
    print("SUCCESS");
    exit();
}