diff --git a/repos/pc/src/drivers/framebuffer/intel/pc/dummies.c b/repos/pc/src/drivers/framebuffer/intel/pc/dummies.c index 30081dc76d..f70a11b8fd 100644 --- a/repos/pc/src/drivers/framebuffer/intel/pc/dummies.c +++ b/repos/pc/src/drivers/framebuffer/intel/pc/dummies.c @@ -527,3 +527,27 @@ void intel_dsb_commit(const struct intel_crtc_state *crtc_state) { lx_emul_trace(__func__); } + + +void calc_load_nohz_start(void) +{ + lx_emul_trace(__func__); +} + + +void calc_load_nohz_stop(void) +{ + lx_emul_trace(__func__); +} + + +void account_idle_ticks(unsigned long ticks) +{ + lx_emul_trace(__func__); +} + + +bool irq_work_needs_cpu(void) +{ + return false; +} diff --git a/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_32/source.list b/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_32/source.list index eb5631008a..b057680611 100644 --- a/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_32/source.list +++ b/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_32/source.list @@ -229,6 +229,8 @@ kernel/time/hrtimer.c kernel/time/jiffies.c kernel/time/ntp.c kernel/time/tick-common.c +kernel/time/tick-oneshot.c +kernel/time/tick-sched.c kernel/time/time.c kernel/time/timeconv.c kernel/time/timecounter.c diff --git a/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_64/source.list b/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_64/source.list index 2d40e8f3a7..6ed437274a 100644 --- a/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_64/source.list +++ b/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_64/source.list @@ -233,6 +233,8 @@ kernel/time/jiffies.c kernel/time/ntp.c kernel/time/tick-broadcast.c kernel/time/tick-common.c +kernel/time/tick-oneshot.c +kernel/time/tick-sched.c kernel/time/time.c kernel/time/timeconv.c kernel/time/timecounter.c diff --git a/repos/pc/src/drivers/usb_host/pc/dummies.c b/repos/pc/src/drivers/usb_host/pc/dummies.c index 81f7e7dcce..7d7eb92d46 100644 --- a/repos/pc/src/drivers/usb_host/pc/dummies.c +++ b/repos/pc/src/drivers/usb_host/pc/dummies.c @@ -82,3 +82,27 @@ int __printk_ratelimit(const char * func) /* suppress */ return 0; } + + +void calc_load_nohz_start(void) +{ + lx_emul_trace(__func__); +} + + +void calc_load_nohz_stop(void) +{ + lx_emul_trace(__func__); +} + + +void account_idle_ticks(unsigned long ticks) +{ + lx_emul_trace(__func__); +} + + +bool irq_work_needs_cpu(void) +{ + return false; +} diff --git a/repos/pc/src/drivers/usb_host/pc/spec/x86_32/source.list b/repos/pc/src/drivers/usb_host/pc/spec/x86_32/source.list index 007dd15d22..8ad8be19c4 100644 --- a/repos/pc/src/drivers/usb_host/pc/spec/x86_32/source.list +++ b/repos/pc/src/drivers/usb_host/pc/spec/x86_32/source.list @@ -83,6 +83,8 @@ kernel/time/hrtimer.c kernel/time/jiffies.c kernel/time/ntp.c kernel/time/tick-common.c +kernel/time/tick-oneshot.c +kernel/time/tick-sched.c kernel/time/time.c kernel/time/timeconv.c kernel/time/timecounter.c diff --git a/repos/pc/src/drivers/usb_host/pc/spec/x86_64/source.list b/repos/pc/src/drivers/usb_host/pc/spec/x86_64/source.list index a8c2cf6b33..00b8d3e99a 100644 --- a/repos/pc/src/drivers/usb_host/pc/spec/x86_64/source.list +++ b/repos/pc/src/drivers/usb_host/pc/spec/x86_64/source.list @@ -85,6 +85,8 @@ kernel/time/jiffies.c kernel/time/ntp.c kernel/time/tick-broadcast.c kernel/time/tick-common.c +kernel/time/tick-oneshot.c +kernel/time/tick-sched.c kernel/time/time.c kernel/time/timeconv.c kernel/time/timecounter.c diff --git a/repos/pc/src/lib/wifi/dummies.c b/repos/pc/src/lib/wifi/dummies.c index b6907437ae..d1a6c29d2b 100644 --- a/repos/pc/src/lib/wifi/dummies.c +++ b/repos/pc/src/lib/wifi/dummies.c @@ -294,3 +294,27 @@ int net_ratelimit(void) /* suppress */ return 0; } + + +void calc_load_nohz_start(void) +{ + lx_emul_trace(__func__); +} + + +void calc_load_nohz_stop(void) +{ + lx_emul_trace(__func__); +} + + +void account_idle_ticks(unsigned long ticks) +{ + lx_emul_trace(__func__); +} + + +bool irq_work_needs_cpu(void) +{ + return false; +} diff --git a/repos/pc/src/lib/wifi/spec/x86_32/source.list b/repos/pc/src/lib/wifi/spec/x86_32/source.list index 04118d7ac1..3bc7badd53 100644 --- a/repos/pc/src/lib/wifi/spec/x86_32/source.list +++ b/repos/pc/src/lib/wifi/spec/x86_32/source.list @@ -155,6 +155,8 @@ kernel/time/hrtimer.c kernel/time/jiffies.c kernel/time/ntp.c kernel/time/tick-common.c +kernel/time/tick-oneshot.c +kernel/time/tick-sched.c kernel/time/time.c kernel/time/timeconv.c kernel/time/timecounter.c diff --git a/repos/pc/src/lib/wifi/spec/x86_64/source.list b/repos/pc/src/lib/wifi/spec/x86_64/source.list index 48f993bb68..2f7e2963c0 100644 --- a/repos/pc/src/lib/wifi/spec/x86_64/source.list +++ b/repos/pc/src/lib/wifi/spec/x86_64/source.list @@ -156,6 +156,8 @@ kernel/time/jiffies.c kernel/time/ntp.c kernel/time/tick-broadcast.c kernel/time/tick-common.c +kernel/time/tick-oneshot.c +kernel/time/tick-sched.c kernel/time/time.c kernel/time/timeconv.c kernel/time/timecounter.c diff --git a/repos/pc/src/pc_linux/target.inc b/repos/pc/src/pc_linux/target.inc index 2851bf457b..90cb0bb1c5 100644 --- a/repos/pc/src/pc_linux/target.inc +++ b/repos/pc/src/pc_linux/target.inc @@ -5,6 +5,9 @@ # kernel fundamentals LX_ENABLE += TTY SERIAL_EARLYCON SERIAL_OF_PLATFORM PRINTK HAS_IOMEM +# support disabling ticking during idle +LX_ENABLE += NO_HZ_IDLE + # initrd support LX_ENABLE += BINFMT_ELF BINFMT_SCRIPT BLK_DEV_INITRD