[libos] Implement IO_Uring feature config
This commit is contained in:
parent
de90f265c1
commit
5dfa017a76
@ -18,5 +18,6 @@ runs:
|
||||
docker exec ${{ inputs.container-name }} bash -c "git config --global --add safe.directory /root/occlum/deps/rust-sgx-sdk";
|
||||
docker exec ${{ inputs.container-name }} bash -c "git config --global --add safe.directory /root/occlum/deps/sefs";
|
||||
docker exec ${{ inputs.container-name }} bash -c "git config --global --add safe.directory /root/occlum/deps/serde-json-sgx";
|
||||
docker exec ${{ inputs.container-name }} bash -c "git config --global --add safe.directory /root/occlum/deps/serde-sgx"
|
||||
docker exec ${{ inputs.container-name }} bash -c "git config --global --add safe.directory /root/occlum/deps/serde-sgx";
|
||||
docker exec ${{ inputs.container-name }} bash -c "git config --global --add safe.directory /root/occlum/deps/io-uring"
|
||||
shell: bash
|
@ -72,6 +72,13 @@ The template of `Occlum.json` is shown below.
|
||||
},
|
||||
// Features
|
||||
"feature": {
|
||||
// Determines the use of the IO_Uring feature in Occlum for network I/O operations.
|
||||
// Enabling IO_Uring feature can improve network I/O performance.
|
||||
//
|
||||
// "io_uring": 0 - Disables IO_Uring; network I/O uses Ocall instead.
|
||||
// "io_uring": 1 - Enables IO_Uring with a single IO_Uring instance.
|
||||
// "io_uring": n (1 < n <= 16) - Enables IO_Uring with 'n' IO_Uring instances.
|
||||
"io_uring": 0,
|
||||
// Whether to turn on AMX feature in Occlum
|
||||
// Occlum supports AMX instruction running inside the enclave when user enables it
|
||||
//
|
||||
|
@ -38,6 +38,7 @@
|
||||
"feature": {
|
||||
"amx": 0,
|
||||
"pkru": 0,
|
||||
"io_uring": 0,
|
||||
"enable_edmm": false,
|
||||
"enable_posix_shm": false
|
||||
},
|
||||
|
@ -148,6 +148,7 @@ pub struct ConfigApp {
|
||||
pub struct ConfigFeature {
|
||||
pub amx: u32,
|
||||
pub pkru: u32,
|
||||
pub io_uring: u32,
|
||||
pub enable_edmm: bool,
|
||||
pub enable_posix_shm: bool,
|
||||
}
|
||||
@ -307,6 +308,7 @@ impl ConfigFeature {
|
||||
Ok(ConfigFeature {
|
||||
amx: input.amx,
|
||||
pkru: input.pkru,
|
||||
io_uring: input.io_uring,
|
||||
enable_edmm: input.enable_edmm,
|
||||
enable_posix_shm: input.enable_posix_shm,
|
||||
})
|
||||
@ -538,6 +540,8 @@ struct InputConfigFeature {
|
||||
#[serde(default)]
|
||||
pub pkru: u32,
|
||||
#[serde(default)]
|
||||
pub io_uring: u32,
|
||||
#[serde(default)]
|
||||
pub enable_edmm: bool,
|
||||
#[serde(default)]
|
||||
pub enable_posix_shm: bool,
|
||||
@ -548,6 +552,7 @@ impl Default for InputConfigFeature {
|
||||
InputConfigFeature {
|
||||
amx: 0,
|
||||
pkru: 0,
|
||||
io_uring: 0,
|
||||
enable_edmm: false,
|
||||
enable_posix_shm: false,
|
||||
}
|
||||
|
@ -44,6 +44,7 @@
|
||||
"feature": {
|
||||
"amx": 0,
|
||||
"pkru": 0,
|
||||
"io_uring": 0,
|
||||
"enable_edmm": false,
|
||||
"enable_posix_shm": true
|
||||
},
|
||||
|
@ -160,6 +160,12 @@ fn main() {
|
||||
"WITHOUT"
|
||||
}
|
||||
);
|
||||
|
||||
debug!(
|
||||
"Enable IO_Uring feature with {:?} instances",
|
||||
occlum_config.feature.io_uring
|
||||
);
|
||||
|
||||
debug!(
|
||||
"user config init num of threads = {:?}",
|
||||
occlum_config.resource_limits.init_num_of_threads
|
||||
@ -448,7 +454,7 @@ fn main() {
|
||||
TCSNum: tcs_init_num,
|
||||
TCSMinPool: tcs_min_pool,
|
||||
TCSMaxNum: tcs_max_num,
|
||||
TCSPolicy: 1,
|
||||
TCSPolicy: 0,
|
||||
DisableDebug: match occlum_config.metadata.debuggable {
|
||||
true => 0,
|
||||
false => 1,
|
||||
@ -758,6 +764,8 @@ struct OcclumFeature {
|
||||
#[serde(default)]
|
||||
pkru: u32,
|
||||
#[serde(default)]
|
||||
io_uring: u32,
|
||||
#[serde(default)]
|
||||
enable_edmm: bool,
|
||||
#[serde(default)]
|
||||
enable_posix_shm: bool,
|
||||
|
Loading…
Reference in New Issue
Block a user