mirror of
https://github.com/sched-ext/scx.git
synced 2024-11-28 21:50:23 +00:00
Merge pull request #534 from sched-ext/htejun/misc
scx_layered: Drop SCX_OPS_ENQ_LAST
This commit is contained in:
commit
8c35a1976f
@ -53,7 +53,6 @@ enum layer_stat_idx {
|
|||||||
LSTAT_SEL_LOCAL,
|
LSTAT_SEL_LOCAL,
|
||||||
LSTAT_ENQ_WAKEUP,
|
LSTAT_ENQ_WAKEUP,
|
||||||
LSTAT_ENQ_EXPIRE,
|
LSTAT_ENQ_EXPIRE,
|
||||||
LSTAT_ENQ_LAST,
|
|
||||||
LSTAT_ENQ_REENQ,
|
LSTAT_ENQ_REENQ,
|
||||||
LSTAT_MIN_EXEC,
|
LSTAT_MIN_EXEC,
|
||||||
LSTAT_MIN_EXEC_NS,
|
LSTAT_MIN_EXEC_NS,
|
||||||
|
@ -667,12 +667,6 @@ void BPF_STRUCT_OPS(layered_enqueue, struct task_struct *p, u64 enq_flags)
|
|||||||
if (enq_flags & SCX_ENQ_REENQ) {
|
if (enq_flags & SCX_ENQ_REENQ) {
|
||||||
lstat_inc(LSTAT_ENQ_REENQ, layer, cctx);
|
lstat_inc(LSTAT_ENQ_REENQ, layer, cctx);
|
||||||
} else {
|
} else {
|
||||||
if (enq_flags & SCX_ENQ_LAST) {
|
|
||||||
lstat_inc(LSTAT_ENQ_LAST, layer, cctx);
|
|
||||||
scx_bpf_dispatch(p, SCX_DSQ_LOCAL, slice_ns, 0);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (enq_flags & SCX_ENQ_WAKEUP)
|
if (enq_flags & SCX_ENQ_WAKEUP)
|
||||||
lstat_inc(LSTAT_ENQ_WAKEUP, layer, cctx);
|
lstat_inc(LSTAT_ENQ_WAKEUP, layer, cctx);
|
||||||
else
|
else
|
||||||
@ -1698,5 +1692,4 @@ SCX_OPS_DEFINE(layered,
|
|||||||
.dump = (void *)layered_dump,
|
.dump = (void *)layered_dump,
|
||||||
.init = (void *)layered_init,
|
.init = (void *)layered_init,
|
||||||
.exit = (void *)layered_exit,
|
.exit = (void *)layered_exit,
|
||||||
.flags = SCX_OPS_ENQ_LAST,
|
|
||||||
.name = "layered");
|
.name = "layered");
|
||||||
|
@ -70,8 +70,6 @@ pub struct LayerStats {
|
|||||||
pub enq_wakeup: f64,
|
pub enq_wakeup: f64,
|
||||||
#[stat(desc = "layer: % enqueued after slice expiration")]
|
#[stat(desc = "layer: % enqueued after slice expiration")]
|
||||||
pub enq_expire: f64,
|
pub enq_expire: f64,
|
||||||
#[stat(desc = "layer: % enqueued as last runnable task on CPU")]
|
|
||||||
pub enq_last: f64,
|
|
||||||
#[stat(desc = "layer: % re-enqueued due to RT preemption")]
|
#[stat(desc = "layer: % re-enqueued due to RT preemption")]
|
||||||
pub enq_reenq: f64,
|
pub enq_reenq: f64,
|
||||||
#[stat(desc = "layer: # times exec duration < min_exec_us")]
|
#[stat(desc = "layer: # times exec duration < min_exec_us")]
|
||||||
@ -148,7 +146,6 @@ impl LayerStats {
|
|||||||
let ltotal = lstat(bpf_intf::layer_stat_idx_LSTAT_SEL_LOCAL)
|
let ltotal = lstat(bpf_intf::layer_stat_idx_LSTAT_SEL_LOCAL)
|
||||||
+ lstat(bpf_intf::layer_stat_idx_LSTAT_ENQ_WAKEUP)
|
+ lstat(bpf_intf::layer_stat_idx_LSTAT_ENQ_WAKEUP)
|
||||||
+ lstat(bpf_intf::layer_stat_idx_LSTAT_ENQ_EXPIRE)
|
+ lstat(bpf_intf::layer_stat_idx_LSTAT_ENQ_EXPIRE)
|
||||||
+ lstat(bpf_intf::layer_stat_idx_LSTAT_ENQ_LAST)
|
|
||||||
+ lstat(bpf_intf::layer_stat_idx_LSTAT_ENQ_REENQ);
|
+ lstat(bpf_intf::layer_stat_idx_LSTAT_ENQ_REENQ);
|
||||||
let lstat_pct = |sidx| {
|
let lstat_pct = |sidx| {
|
||||||
if ltotal != 0 {
|
if ltotal != 0 {
|
||||||
@ -181,7 +178,6 @@ impl LayerStats {
|
|||||||
sel_local: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_SEL_LOCAL),
|
sel_local: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_SEL_LOCAL),
|
||||||
enq_wakeup: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_ENQ_WAKEUP),
|
enq_wakeup: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_ENQ_WAKEUP),
|
||||||
enq_expire: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_ENQ_EXPIRE),
|
enq_expire: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_ENQ_EXPIRE),
|
||||||
enq_last: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_ENQ_LAST),
|
|
||||||
enq_reenq: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_ENQ_REENQ),
|
enq_reenq: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_ENQ_REENQ),
|
||||||
min_exec: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_MIN_EXEC),
|
min_exec: lstat_pct(bpf_intf::layer_stat_idx_LSTAT_MIN_EXEC),
|
||||||
min_exec_us: (lstat(bpf_intf::layer_stat_idx_LSTAT_MIN_EXEC_NS) / 1000) as u64,
|
min_exec_us: (lstat(bpf_intf::layer_stat_idx_LSTAT_MIN_EXEC_NS) / 1000) as u64,
|
||||||
@ -223,13 +219,12 @@ impl LayerStats {
|
|||||||
|
|
||||||
writeln!(
|
writeln!(
|
||||||
w,
|
w,
|
||||||
" {:<width$} tot={:7} local={} wake/exp/last/reenq={}/{}/{}/{}",
|
" {:<width$} tot={:7} local={} wake/exp/reenq={}/{}/{}",
|
||||||
"",
|
"",
|
||||||
self.total,
|
self.total,
|
||||||
fmt_pct(self.sel_local),
|
fmt_pct(self.sel_local),
|
||||||
fmt_pct(self.enq_wakeup),
|
fmt_pct(self.enq_wakeup),
|
||||||
fmt_pct(self.enq_expire),
|
fmt_pct(self.enq_expire),
|
||||||
fmt_pct(self.enq_last),
|
|
||||||
fmt_pct(self.enq_reenq),
|
fmt_pct(self.enq_reenq),
|
||||||
width = header_width,
|
width = header_width,
|
||||||
)?;
|
)?;
|
||||||
@ -350,7 +345,6 @@ impl SysStats {
|
|||||||
let total = lsum(bpf_intf::layer_stat_idx_LSTAT_SEL_LOCAL)
|
let total = lsum(bpf_intf::layer_stat_idx_LSTAT_SEL_LOCAL)
|
||||||
+ lsum(bpf_intf::layer_stat_idx_LSTAT_ENQ_WAKEUP)
|
+ lsum(bpf_intf::layer_stat_idx_LSTAT_ENQ_WAKEUP)
|
||||||
+ lsum(bpf_intf::layer_stat_idx_LSTAT_ENQ_EXPIRE)
|
+ lsum(bpf_intf::layer_stat_idx_LSTAT_ENQ_EXPIRE)
|
||||||
+ lsum(bpf_intf::layer_stat_idx_LSTAT_ENQ_LAST)
|
|
||||||
+ lsum(bpf_intf::layer_stat_idx_LSTAT_ENQ_REENQ);
|
+ lsum(bpf_intf::layer_stat_idx_LSTAT_ENQ_REENQ);
|
||||||
let lsum_pct = |idx| {
|
let lsum_pct = |idx| {
|
||||||
if total != 0 {
|
if total != 0 {
|
||||||
|
Loading…
Reference in New Issue
Block a user