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

Commit a8247dd

Browse files
authored
Refactor - Assign SBPF versions to SIMDs (#602)
* Inverts some SBPFVersion feature flags for consistency. * Groups the SBPFVersion feature flags by their SIMDs. * Adjusts SBPFVersion. * Updates ISA spec accordingly.
1 parent 7d58371 commit a8247dd

38 files changed

+387
-364
lines changed

Diff for: benches/elf_loader.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ fn loader() -> Arc<BuiltinProgram<TestContextObject>> {
3131
}
3232

3333
#[bench]
34-
fn bench_load_sbpfv1(bencher: &mut Bencher) {
35-
let mut file = File::open("tests/elfs/syscall_reloc_64_32_sbpfv1.so").unwrap();
34+
fn bench_load_sbpfv0(bencher: &mut Bencher) {
35+
let mut file = File::open("tests/elfs/syscall_reloc_64_32_sbpfv0.so").unwrap();
3636
let mut elf = Vec::new();
3737
file.read_to_end(&mut elf).unwrap();
3838
let loader = loader();

Diff for: benches/jit_compile.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use test_utils::create_vm;
1818

1919
#[bench]
2020
fn bench_init_vm(bencher: &mut Bencher) {
21-
let mut file = File::open("tests/elfs/relative_call_sbpfv1.so").unwrap();
21+
let mut file = File::open("tests/elfs/relative_call_sbpfv0.so").unwrap();
2222
let mut elf = Vec::new();
2323
file.read_to_end(&mut elf).unwrap();
2424
let executable =
@@ -42,7 +42,7 @@ fn bench_init_vm(bencher: &mut Bencher) {
4242
#[cfg(all(feature = "jit", not(target_os = "windows"), target_arch = "x86_64"))]
4343
#[bench]
4444
fn bench_jit_compile(bencher: &mut Bencher) {
45-
let mut file = File::open("tests/elfs/relative_call_sbpfv1.so").unwrap();
45+
let mut file = File::open("tests/elfs/relative_call_sbpfv0.so").unwrap();
4646
let mut elf = Vec::new();
4747
file.read_to_end(&mut elf).unwrap();
4848
let mut executable =

Diff for: benches/memory_mapping.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ macro_rules! bench_gapped_randomized_access_with_1024_entries {
7373
)];
7474
let config = Config::default();
7575
let memory_mapping =
76-
$mem::new(memory_regions, &config, SBPFVersion::V2).unwrap();
76+
$mem::new(memory_regions, &config, SBPFVersion::V3).unwrap();
7777
let mut prng = new_prng!();
7878
bencher.iter(|| {
7979
assert!(memory_mapping
@@ -111,7 +111,7 @@ macro_rules! bench_randomized_access_with_0001_entry {
111111
let content = vec![0; 1024 * 2];
112112
let memory_regions = vec![MemoryRegion::new_readonly(&content[..], 0x100000000)];
113113
let config = Config::default();
114-
let memory_mapping = $mem::new(memory_regions, &config, SBPFVersion::V2).unwrap();
114+
let memory_mapping = $mem::new(memory_regions, &config, SBPFVersion::V3).unwrap();
115115
let mut prng = new_prng!();
116116
bencher.iter(|| {
117117
let _ = memory_mapping.map(
@@ -145,7 +145,7 @@ macro_rules! bench_randomized_access_with_n_entries {
145145
let (memory_regions, end_address) =
146146
generate_memory_regions($n, MemoryState::Readable, Some(&mut prng));
147147
let config = Config::default();
148-
let memory_mapping = $mem::new(memory_regions, &config, SBPFVersion::V2).unwrap();
148+
let memory_mapping = $mem::new(memory_regions, &config, SBPFVersion::V3).unwrap();
149149
bencher.iter(|| {
150150
let _ = memory_mapping.map(
151151
AccessType::Load,
@@ -194,7 +194,7 @@ macro_rules! bench_randomized_mapping_with_n_entries {
194194
let (memory_regions, _end_address) =
195195
generate_memory_regions($n, MemoryState::Readable, Some(&mut prng));
196196
let config = Config::default();
197-
let memory_mapping = $mem::new(memory_regions, &config, SBPFVersion::V2).unwrap();
197+
let memory_mapping = $mem::new(memory_regions, &config, SBPFVersion::V3).unwrap();
198198
bencher.iter(|| {
199199
let _ = memory_mapping.map(AccessType::Load, 0x100000000, 1);
200200
});
@@ -243,7 +243,7 @@ macro_rules! bench_mapping_with_n_entries {
243243
let (memory_regions, _end_address) =
244244
generate_memory_regions($n, MemoryState::Readable, None);
245245
let config = Config::default();
246-
let memory_mapping = $mem::new(memory_regions, &config, SBPFVersion::V2).unwrap();
246+
let memory_mapping = $mem::new(memory_regions, &config, SBPFVersion::V3).unwrap();
247247
bencher.iter(|| {
248248
let _ = memory_mapping.map(AccessType::Load, 0x100000000, 1);
249249
});
@@ -301,7 +301,7 @@ fn do_bench_mapping_operation(bencher: &mut Bencher, op: MemoryOperation, vm_add
301301
MemoryRegion::new_writable(&mut mem2, 0x100000000 + 8),
302302
],
303303
&config,
304-
SBPFVersion::V2,
304+
SBPFVersion::V3,
305305
)
306306
.unwrap();
307307

Diff for: benches/vm_execution.rs

+6-12
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use test_utils::create_vm;
2525

2626
#[bench]
2727
fn bench_init_interpreter_start(bencher: &mut Bencher) {
28-
let mut file = File::open("tests/elfs/rodata_section_sbpfv1.so").unwrap();
28+
let mut file = File::open("tests/elfs/rodata_section_sbpfv0.so").unwrap();
2929
let mut elf = Vec::new();
3030
file.read_to_end(&mut elf).unwrap();
3131
let executable =
@@ -51,7 +51,7 @@ fn bench_init_interpreter_start(bencher: &mut Bencher) {
5151
#[cfg(all(feature = "jit", not(target_os = "windows"), target_arch = "x86_64"))]
5252
#[bench]
5353
fn bench_init_jit_start(bencher: &mut Bencher) {
54-
let mut file = File::open("tests/elfs/rodata_section_sbpfv1.so").unwrap();
54+
let mut file = File::open("tests/elfs/rodata_section_sbpfv0.so").unwrap();
5555
let mut elf = Vec::new();
5656
file.read_to_end(&mut elf).unwrap();
5757
let mut executable =
@@ -171,7 +171,7 @@ fn bench_jit_vs_interpreter_address_translation_stack_fixed(bencher: &mut Benche
171171
bencher,
172172
ADDRESS_TRANSLATION_STACK_CODE,
173173
Config {
174-
enabled_sbpf_versions: SBPFVersion::V1..=SBPFVersion::V1,
174+
enabled_sbpf_versions: SBPFVersion::V0..=SBPFVersion::V0,
175175
..Config::default()
176176
},
177177
524289,
@@ -185,10 +185,7 @@ fn bench_jit_vs_interpreter_address_translation_stack_dynamic(bencher: &mut Benc
185185
bench_jit_vs_interpreter(
186186
bencher,
187187
ADDRESS_TRANSLATION_STACK_CODE,
188-
Config {
189-
enabled_sbpf_versions: SBPFVersion::V1..=SBPFVersion::V2,
190-
..Config::default()
191-
},
188+
Config::default(),
192189
524289,
193190
&mut [],
194191
);
@@ -233,7 +230,7 @@ fn bench_jit_vs_interpreter_call_depth_fixed(bencher: &mut Bencher) {
233230
call function_foo
234231
exit",
235232
Config {
236-
enabled_sbpf_versions: SBPFVersion::V1..=SBPFVersion::V1,
233+
enabled_sbpf_versions: SBPFVersion::V0..=SBPFVersion::V0,
237234
..Config::default()
238235
},
239236
137218,
@@ -263,10 +260,7 @@ fn bench_jit_vs_interpreter_call_depth_dynamic(bencher: &mut Bencher) {
263260
call function_foo
264261
add r11, 4
265262
exit",
266-
Config {
267-
enabled_sbpf_versions: SBPFVersion::V1..=SBPFVersion::V2,
268-
..Config::default()
269-
},
263+
Config::default(),
270264
176130,
271265
&mut [],
272266
);

0 commit comments

Comments
 (0)