Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Make BPF Loader static#11516

Merged
jackcmay merged 2 commits intosolana-labs:masterfrom
jackcmay:static-bpf-loader
Aug 14, 2020
Merged

Make BPF Loader static#11516
jackcmay merged 2 commits intosolana-labs:masterfrom
jackcmay:static-bpf-loader

Conversation

@jackcmay
Copy link
Copy Markdown
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
Comment thread core/src/validator.rs Outdated
@jackcmay
Copy link
Copy Markdown
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
Copy Markdown

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 subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants