pc_linux: enable NO_HZ_IDLE

the option enables support to stop periodic ticking when in idle task.

Adjust dummies of intel_fb, wifi, usb drivers accordingly.

Issue #4540
This commit is contained in:
Alexander Boettcher 2022-06-17 15:18:17 +02:00 committed by Christian Helmuth
parent ce67be5a86
commit 9ecbe51e34
10 changed files with 87 additions and 0 deletions

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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