-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Unroll improvements #1286
Unroll improvements #1286
Conversation
Do you think it would work to rewrite |
Hmm except on systems without loop support. |
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.
Other than this lgtm
87a6444
to
96634eb
Compare
Fixed parser.yy. Thanks @fbs
I think it would, but potentially unrolling optimize an execution speed so I guess keeping unrolling as is is good. |
It always was a bit flaky but the new CI seems to have made it worse, got a commit to remove it in #1066 |
Bit curious where the 100 came from (or 20 for that matter). What is your usecase here? :) |
Actually there is no particular reason for 100, I just want to benchmark bpftrace (and BPF program) performance and unrolling is an easy way to generate long instructions. I feel 20 is a bit small. Maybe introducing By the way, it is easy to circumvent unroll limitation: |
Reminder to add a changelog entry for this (#1255) before merging |
This enables using positional params in unroll. For example: ``` % sudo ./src/bpftrace -e 'BEGIN { unroll($1) { printf("hi\n"); } }' 5 Attaching 1 probe... hi hi hi hi hi ^C ```
Now that unrolling does not rely on LLVM's unroll, 20 is too restrictive for the maximum unroll limit.
96634eb
to
e4c643f
Compare
Rebased onto master and updated a changelog. |
Add support of using positional params in unroll and increase the unroll limit to 100.
Example: