mirror of
https://github.com/sched-ext/scx.git
synced 2024-11-22 02:41:49 +00:00
mitosis: fix build
Minimal changes to make sure scx_mitosis can build with the latest scx changes. Signed-off-by: Dan Schatzberg <schatzberg.dan@gmail.com>
This commit is contained in:
parent
d7576d4b44
commit
347147b10d
40
Cargo.lock
generated
40
Cargo.lock
generated
@ -419,6 +419,18 @@ version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
||||
|
||||
[[package]]
|
||||
name = "cgroupfs"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "66348822148cc35473745aaec1dfef694010fc8b437541ef6e64db5c223a0846"
|
||||
dependencies = [
|
||||
"nix 0.25.1",
|
||||
"openat",
|
||||
"serde",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "chrono"
|
||||
version = "0.4.38"
|
||||
@ -1112,6 +1124,12 @@ version = "0.4.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
|
||||
|
||||
[[package]]
|
||||
name = "maplit"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.4"
|
||||
@ -1749,6 +1767,28 @@ dependencies = [
|
||||
"zvariant",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "scx_mitosis"
|
||||
version = "0.0.4"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"bitvec",
|
||||
"cgroupfs",
|
||||
"clap",
|
||||
"ctrlc",
|
||||
"fb_procfs",
|
||||
"itertools 0.13.0",
|
||||
"lazy_static",
|
||||
"libbpf-rs",
|
||||
"libc",
|
||||
"log",
|
||||
"maplit",
|
||||
"scx_utils",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"simplelog",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "scx_rlfifo"
|
||||
version = "1.0.5"
|
||||
|
@ -9,5 +9,6 @@ members = ["rust/scx_stats",
|
||||
"scheds/rust/scx_rustland",
|
||||
"scheds/rust/scx_rlfifo",
|
||||
"scheds/rust/scx_rusty",
|
||||
"scheds/rust/scx_layered"] # scx_mitosis temporarily excluded
|
||||
"scheds/rust/scx_layered",
|
||||
"scheds/rust/scx_mitosis"]
|
||||
resolver = "2"
|
||||
|
@ -331,7 +331,7 @@ if enable_rust
|
||||
|
||||
rust_scheds = ['scx_lavd', 'scx_bpfland', 'scx_rustland', 'scx_rlfifo',
|
||||
'scx_rusty',
|
||||
'scx_layered'] # scx_mitosis temporarily excluded
|
||||
'scx_layered', 'scx_mitosis']
|
||||
rust_misc = ['scx_stats', 'scx_stats_derive', 'scx_utils',
|
||||
'scx_rustland_core',
|
||||
'scx_loader']
|
||||
|
@ -19,7 +19,6 @@ libbpf-rs = "0.24.1"
|
||||
libc = "0.2.137"
|
||||
log = "0.4.17"
|
||||
maplit = "1.0.2"
|
||||
prometheus-client = "0.19"
|
||||
scx_utils = { path = "../../../rust/scx_utils", version = "1.0.5" }
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
|
@ -126,7 +126,7 @@ struct {
|
||||
|
||||
static inline struct cgroup *task_cgroup(struct task_struct *p)
|
||||
{
|
||||
struct cgroup *cgrp = scx_bpf_task_cgroup(p);
|
||||
struct cgroup *cgrp = __COMPAT_scx_bpf_task_cgroup(p);
|
||||
if (!cgrp) {
|
||||
scx_bpf_error("Failed to get cgroup for task %d", p->pid);
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ use std::collections::BTreeMap;
|
||||
use std::collections::HashMap;
|
||||
use std::collections::VecDeque;
|
||||
use std::fs::File;
|
||||
use std::mem::MaybeUninit;
|
||||
use std::os::fd::AsRawFd;
|
||||
use std::path::PathBuf;
|
||||
use std::sync::atomic::AtomicBool;
|
||||
@ -27,6 +28,8 @@ use itertools::Itertools;
|
||||
use libbpf_rs::skel::OpenSkel;
|
||||
use libbpf_rs::skel::Skel;
|
||||
use libbpf_rs::skel::SkelBuilder;
|
||||
use libbpf_rs::MapCore as _;
|
||||
use libbpf_rs::OpenObject;
|
||||
use log::debug;
|
||||
use log::info;
|
||||
use log::trace;
|
||||
@ -276,8 +279,8 @@ impl<'a> Scheduler<'a> {
|
||||
false => "scheduler_tick",
|
||||
};
|
||||
|
||||
skel.progs_mut()
|
||||
.sched_tick_fentry()
|
||||
skel.progs
|
||||
.sched_tick_fentry
|
||||
.set_attach_target(0, Some(sched_tick_name.into()))
|
||||
.context("Failed to set attach target for sched_tick_fentry()")?;
|
||||
|
||||
@ -388,8 +391,8 @@ impl<'a> Scheduler<'a> {
|
||||
let cell_idx_slice = unsafe { any_as_u8_slice(&cell_idx_u32) };
|
||||
/* XXX: NO_EXIST should be correct here, but it fails */
|
||||
self.skel
|
||||
.maps()
|
||||
.cgrp_cell_assignment()
|
||||
.maps
|
||||
.cgrp_cell_assignment
|
||||
.update(cg_fd_slice, cell_idx_slice, libbpf_rs::MapFlags::ANY)
|
||||
.with_context(|| {
|
||||
format!("Failed to update cgroup cell assignment for: {}", cg_path)
|
||||
@ -434,8 +437,8 @@ impl<'a> Scheduler<'a> {
|
||||
let cg_fd_slice = unsafe { any_as_u8_slice(&cg_fd) };
|
||||
if let Some(v) = self
|
||||
.skel
|
||||
.maps()
|
||||
.cgrp_ctx()
|
||||
.maps
|
||||
.cgrp_ctx
|
||||
.lookup(cg_fd_slice, libbpf_rs::MapFlags::ANY)
|
||||
.with_context(|| {
|
||||
format!(
|
||||
@ -529,8 +532,8 @@ impl<'a> Scheduler<'a> {
|
||||
let zero_slice = unsafe { any_as_u8_slice(&zero) };
|
||||
if let Some(v) = self
|
||||
.skel
|
||||
.maps()
|
||||
.cpu_ctxs()
|
||||
.maps
|
||||
.cpu_ctxs
|
||||
.lookup_percpu(zero_slice, libbpf_rs::MapFlags::ANY)
|
||||
.context("Failed to lookup cpu_ctxs map")?
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user