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

Make BPF Loader static #11516

Merged
merged 2 commits into from
Aug 14, 2020
Merged

Conversation

jackcmay
Copy link
Contributor

Problem

Shared objects get their own instance of jemalloc so alloc/free of pointers across the shared object boundaries blow things up. There are outstanding load optimizations that require this and are currently blocked

Summary of Changes

Make the BPF loader a static program

Fixes #

@jackcmay jackcmay added work in progress This isn't quite right yet noCI Suppress CI on this Pull Request labels Aug 10, 2020
core/src/validator.rs Outdated Show resolved Hide resolved
@jackcmay
Copy link
Contributor Author

jackcmay commented Aug 10, 2020

@mvines These changes are old and in progress but I got stuck and this is blocking the loader optimization I'd like to put in. I added a comment at my stuck point, any suggestions?

Another option is to pull the loader into runtime like system_instruction.rs

@jackcmay jackcmay added noCI Suppress CI on this Pull Request and removed noCI Suppress CI on this Pull Request work in progress This isn't quite right yet labels Aug 14, 2020
@codecov
Copy link

codecov bot commented Aug 14, 2020

Codecov Report

Merging #11516 into master will increase coverage by 0.0%.
The diff coverage is 87.3%.

@@           Coverage Diff           @@
##           master   #11516   +/-   ##
=======================================
  Coverage    82.0%    82.1%           
=======================================
  Files         330      330           
  Lines       76029    76076   +47     
=======================================
+ Hits        62405    62475   +70     
+ Misses      13624    13601   -23     

@jackcmay jackcmay merged commit 7c736f7 into solana-labs:master Aug 14, 2020
@jackcmay jackcmay deleted the static-bpf-loader branch August 14, 2020 19:32
@jackcmay jackcmay added the v1.3 label Aug 21, 2020
mergify bot pushed a commit that referenced this pull request Aug 21, 2020
(cherry picked from commit 7c736f7)

# Conflicts:
#	Cargo.lock
#	core/Cargo.toml
#	core/src/lib.rs
#	core/src/validator.rs
#	genesis-programs/src/lib.rs
#	programs/bpf_loader/src/deprecated.rs
#	programs/bpf_loader/src/lib.rs
#	sdk/src/entrypoint_native.rs
#	sdk/src/lib.rs
mergify bot added a commit that referenced this pull request Aug 22, 2020
* Make BPF Loader static (#11516)

(cherry picked from commit 7c736f7)

# Conflicts:
#	Cargo.lock
#	core/Cargo.toml
#	core/src/lib.rs
#	core/src/validator.rs
#	genesis-programs/src/lib.rs
#	programs/bpf_loader/src/deprecated.rs
#	programs/bpf_loader/src/lib.rs
#	sdk/src/entrypoint_native.rs
#	sdk/src/lib.rs

* resolve conflicts

Co-authored-by: Jack May <jack@solana.com>
@jackcmay jackcmay added the v1.2 label Aug 26, 2020
mergify bot pushed a commit that referenced this pull request Aug 26, 2020
(cherry picked from commit 7c736f7)

# Conflicts:
#	Cargo.lock
#	core/Cargo.toml
#	core/src/lib.rs
#	core/src/validator.rs
#	genesis/src/main.rs
#	programs/bpf/tests/programs.rs
#	runtime/src/builtin_programs.rs
#	runtime/src/lib.rs
mergify bot added a commit that referenced this pull request Aug 27, 2020
* Make BPF Loader static (#11516)

(cherry picked from commit 7c736f7)

# Conflicts:
#	Cargo.lock
#	core/Cargo.toml
#	core/src/lib.rs
#	core/src/validator.rs
#	genesis/src/main.rs
#	programs/bpf/tests/programs.rs
#	runtime/src/builtin_programs.rs
#	runtime/src/lib.rs

* resolve conflicts

* nudge

Co-authored-by: Jack May <jack@solana.com>
jackcmay added a commit to jackcmay/solana that referenced this pull request Aug 27, 2020
mergify bot pushed a commit that referenced this pull request Aug 27, 2020
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

Successfully merging this pull request may close these issues.

2 participants