Skip to content

Commit

Permalink
Moved 'progress' option from the 'experimental' section to 'general'
Browse files Browse the repository at this point in the history
  • Loading branch information
stevenengler committed Feb 25, 2022
1 parent d277ca1 commit 5d8d81d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 15 deletions.
16 changes: 8 additions & 8 deletions docs/shadow_config_spec.md
Expand Up @@ -52,6 +52,7 @@ hosts:
- [`general.heartbeat_interval`](#generalheartbeat_interval)
- [`general.log_level`](#generallog_level)
- [`general.parallelism`](#generalparallelism)
- [`general.progress`](#generalprogress)
- [`general.seed`](#generalseed)
- [`general.stop_time`](#generalstop_time)
- [`general.template_directory`](#generaltemplate_directory)
Expand All @@ -70,7 +71,6 @@ hosts:
- [`experimental.interface_qdisc`](#experimentalinterface_qdisc)
- [`experimental.interpose_method`](#experimentalinterpose_method)
- [`experimental.preload_spin_max`](#experimentalpreload_spin_max)
- [`experimental.progress`](#experimentalprogress)
- [`experimental.runahead`](#experimentalrunahead)
- [`experimental.scheduler_policy`](#experimentalscheduler_policy)
- [`experimental.socket_recv_autotune`](#experimentalsocket_recv_autotune)
Expand Down Expand Up @@ -165,6 +165,13 @@ virtual hosts, so each worker can only advance according to the propagation
delay to avoid dependency violations. Therefore, not all threads will have 100%
CPU utilization.

#### `general.progress`

Default: false
Type: Bool

Show the simulation progress.

#### `general.seed`

Default: 1
Expand Down Expand Up @@ -330,13 +337,6 @@ Type: Integer

Max number of iterations to busy-wait on IPC semaphore before blocking.

#### `experimental.progress`

Default: false
Type: Bool

Show the simulation progress.

#### `experimental.runahead`

Default: "1 ms"
Expand Down
19 changes: 12 additions & 7 deletions src/main/core/support/configuration.rs
Expand Up @@ -183,6 +183,12 @@ pub struct GeneralOptions {
#[clap(help = GENERAL_HELP.get("template_directory").unwrap().as_str())]
#[serde(default)]
pub template_directory: Option<String>,

/// Show the simulation progress
#[clap(long, value_name = "bool")]
#[clap(help = GENERAL_HELP.get("progress").unwrap().as_str())]
#[serde(default = "default_some_false")]
pub progress: Option<bool>,
}

impl GeneralOptions {
Expand Down Expand Up @@ -368,11 +374,6 @@ pub struct ExperimentalOptions {
#[clap(help = EXP_HELP.get("use_legacy_working_dir").unwrap().as_str())]
pub use_legacy_working_dir: Option<bool>,

/// Show the simulation progress
#[clap(long, value_name = "bool")]
#[clap(help = EXP_HELP.get("progress").unwrap().as_str())]
pub progress: Option<bool>,

/// Log level at which to print host statistics
#[clap(long, value_name = "level")]
#[clap(help = EXP_HELP.get("host_heartbeat_log_level").unwrap().as_str())]
Expand Down Expand Up @@ -431,7 +432,6 @@ impl Default for ExperimentalOptions {
interface_qdisc: Some(QDiscMode::Fifo),
worker_threads: None,
use_legacy_working_dir: Some(false),
progress: Some(false),
host_heartbeat_log_level: Some(LogLevel::Info),
host_heartbeat_log_info: Some(IntoIterator::into_iter([LogInfoFlag::Node]).collect()),
host_heartbeat_interval: None,
Expand Down Expand Up @@ -785,6 +785,11 @@ fn default_some_true() -> Option<bool> {
Some(true)
}

/// Helper function for serde default `Some(false)` values.
fn default_some_false() -> Option<bool> {
Some(false)
}

/// Helper function for serde default `Some(1)` values.
fn default_some_1() -> Option<u32> {
Some(1)
Expand Down Expand Up @@ -1361,7 +1366,7 @@ mod export {
pub extern "C" fn config_getProgress(config: *const ConfigOptions) -> bool {
assert!(!config.is_null());
let config = unsafe { &*config };
config.experimental.progress.unwrap()
config.general.progress.unwrap()
}

#[no_mangle]
Expand Down

0 comments on commit 5d8d81d

Please sign in to comment.