1 #!/usr/bin/env drgn 2 # 3 # Copyright (C) 2024 Tejun Heo <tj@kernel.org> 4 # Copyright (C) 2024 Meta Platforms, Inc. and affiliates. 5 6 desc = """ 7 This is a drgn script to show the current sched_ext state. 8 For more info on drgn, visit https://github.com/osandov/drgn. 9 """ 10 11 import drgn 12 import sys 13 14 def err(s): 15 print(s, file=sys.stderr, flush=True) 16 sys.exit(1) 17 18 def read_int(name): 19 return int(prog[name].value_()) 20 21 def read_atomic(name): 22 return prog[name].counter.value_() 23 24 def read_static_key(name): 25 return prog[name].key.enabled.counter.value_() 26 27 def ops_state_str(state): 28 return prog['scx_ops_enable_state_str'][state].string_().decode() 29 30 ops = prog['scx_ops'] 31 enable_state = read_atomic("scx_ops_enable_state_var") 32 33 print(f'ops : {ops.name.string_().decode()}') 34 print(f'enabled : {read_static_key("__scx_ops_enabled")}') 35 print(f'switching_all : {read_int("scx_switching_all")}') 36 print(f'switched_all : {read_static_key("__scx_switched_all")}') 37 print(f'enable_state : {ops_state_str(enable_state)} ({enable_state})') 38 print(f'bypass_depth : {read_atomic("scx_ops_bypass_depth")}') 39 print(f'nr_rejected : {read_atomic("scx_nr_rejected")}') 40 print(f'enable_seq : {read_atomic("scx_enable_seq")}')
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.