-
Notifications
You must be signed in to change notification settings - Fork 0
A draft of PMU support authored by Pengfei Su #1
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
Open
chabbimilind
wants to merge
130
commits into
master
Choose a base branch
from
Go-psu
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
130 commits
Select commit
Hold shift + click to select a range
07fc6c8
error on escape to heap
cb3f988
minor
87a6fec
disable escaping to heap and deliver SIGPROF to the correspoind signa…
59beecd
minor
ad7bef9
disable/enable PMU counters in the signal handler
014d49c
note
0b450d5
test cases for PMU
508ab84
test
e70dce4
separete PMU from the execution path of itimer()
51c4d15
minor
cbddb3b
disable ioctl and close file descriptor when go rountine
1e4ffc3
export env variabls instead of cmd arguments
dd72834
minor
c802faf
minor
456f93c
sth to todo
825961c
merge Joshua's patch
d2fcc3b
minor
66654bf
minor
e4c59d1
minor
31956bf
separate PMU's output from itimer's
4966a3a
precise ip
22805e4
enable multiple PMU events
60231cc
minor
da609e8
minor
03afced
minor
37ea021
close file descriptors when finished
2b986ed
removal
14b1027
test cases
3721604
redefine the interface
7362ce0
test cases
84264fe
removal
28ccd61
minor
020bcba
minor
697954f
refactoring
3ca840d
test
797cb5a
minor
d46b988
refactoring
1625927
remove
953985d
refactoring
5dd0981
remove
a1c64d0
refactoring
8464003
refactoring
2f7b4b1
http
1ce06b9
test
a6860bf
indentation
449a5b1
indentation
23a00c2
separate OS-specific functions and data stuctures
7585bd9
API checks
6c5a609
API checks
4416dcf
minor
9edf689
API checks
baa1694
test cases for http
d490da6
indention
0e744a8
minor
0758f56
minor
ce755fd
test cases
f498eaf
test cases
621479e
remove
7b64868
remove
ecca1b3
refactoring
58fa80d
data race detection
617f3f5
assembly code of perf_event_open, ioctl, fcntl on different linux ven…
63bab35
minor
82040ab
removal
87dbdac
delete redundant code
d6a1b0d
tests
83ffbb8
indention
9b86a34
refactoring
5130c9b
refactoring
938c5f2
refactoring
11f0876
fix a bug on the file desriptor leaks
5cd77ae
output
5efcfcb
minor
9d0af5b
minor
9bbe0fc
minor
d330857
comments
f024a8f
comments
a775e8c
minor
4d064c1
Added support for raw events
chabbimilind f0c7da3
Replaced MaxPMUEvent with GO_COUNT_PMU_EVENTS_MAX
chabbimilind 960c833
benchmark profiling with pmu
57f075b
benchmark profiling with pmu
67d3536
test cases
496e0ff
fix a if-else bug caused by me
689c122
minor
3e2a5bc
test cases
d4ae34e
more test cases
1d9c12c
remove
18a9d26
minor
a42f3ce
minor
7c0fd97
minor
f431074
fix a configuration error by regenerating alldocs.go
ca0f3fc
test cases
16feaf6
minor
151680a
replace slice with array
eb4565f
minor
9e5ca00
minor
c7454d5
minor
0294127
minor
e8e5462
tests
d3dacce
support raw events for benchmarks
dc539da
add two new events: LLC_load_accesses and LLC_load_misses
c56ebe1
minor
39f49ce
tests
37f5a20
Simplified the logic to check whether PMU is enabled and dropped repl…
chabbimilind 9b77ff3
Merge branch 'Go-psu' of github.com:chabbimilind/Go into Go-psu
chabbimilind 0440673
Fix Go formatting on all modified files
428f949
Enable PEBS
61f6d7a
Remove the extra blank line
6950c9d
Read PMU counters
9b22f72
change the order where values are accessed in the ring buffer
602c0e3
fixed error about data type
a55e11d
Guarantee per-sample overflow notifications
89fdba2
Check whether the obtained sample ip is precise
e7dde74
Update test cases
42e0204
implement mb(), rmb() and wmb() in Go-style ASM
2cce77b
comments
2a1b558
Format code using gofmt
98957d8
Format code using gofmt
30d740e
Format test cases using gofmt
01e39fc
Update test cases
2cbc9ab
Fix cross-platform compilation errors
99c2b0e
Change the comments
9e43ce5
delete excess space
ed87648
delete excess space
ab79a0a
delete excess space
9d3c811
Merge branch 'Go-psu' of github.com:chabbimilind/Go into Go-psu
b67770a
Pprof+PMU: Set the file descriptor to 0 after closing
chabbimilind 7e90d76
Merge branch 'Go-psu' of https://github.com/chabbimilind/Go into Go-psu
chabbimilind 9465bad
Two patches: 1) disable the PMU counter before closing the associated…
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After reading till here, I have started feeling we could simply create another HTTP endpoint that caters to only PMU profiles. For example, GC profile has its own endpoint, mutex profile has one of its own and so on.