Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libpfc timer should include kernel cycles too #34

Open
travisdowns opened this issue Feb 24, 2018 · 1 comment
Open

libpfc timer should include kernel cycles too #34

travisdowns opened this issue Feb 24, 2018 · 1 comment

Comments

@travisdowns
Copy link
Owner

Currently we are only getting user-mode cycles from libpfc. We should probably track all cycles.

@travisdowns
Copy link
Owner Author

travisdowns commented Aug 16, 2018

Compare for example:

./uarch-bench.sh --test-name=syscall/* --timer=libpfc --extra-events=skl::UNHALTED_CORE_CYCLES

which gives:

** Running group syscall : Syscall benches **
                               Benchmark    Cycles    UNHALT
                     getuid() glibc call     48.00    706.69
                  getuid using syscall()     53.00    706.41
                  getpid using syscall()     53.00    726.17
            close() on a non-existent FD     69.00    729.68
                    non-existent syscall     72.00    665.44
                   getuid direct syscall     41.00    699.77
             non-existent direct syscall     41.00    631.84
                   syscall+lfence before     51.36    641.31
                    syscall+lfence after     52.32    644.63
                     back-to-back lfence      4.88      4.88
                         parallel-misses     16.93     16.96
                          mfenced misses    234.90    235.05
                          sfenced misses     17.18     17.20
                          lfenced misses    181.29    181.40
                          syscall misses    234.79    831.68
               misses + lfence + syscall    244.98    835.93

Note how the Cycles column is impossibly low, while the skl::UNHALTED_CORE_CYCLES (UNHALT) column shows the correct time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant