Commit 1def54a7 authored by Yu Jiahua's avatar Yu Jiahua Committed by Zheng Zengkai
Browse files

Revert "sched/idle: Add IAS_SMART_HALT_POLL config for smart halt polling feature"

hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I4QU5Z?from=project-issue


CVE: NA

--------------------------------

This patch revert ias feature from open-euler kernel.

This reverts commit ad7ae387.

Signed-off-by: default avatarYu Jiahua <Yujiahua1@huawei.com>
Reviewed-by: default avatarChen Hui <judy.chenhui@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent ec4ee2b2
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -557,9 +557,7 @@ extern int sysctl_panic_on_rcu_stall;
extern int sysctl_panic_on_stackoverflow;

extern bool crash_kexec_post_notifiers;
#ifdef CONFIG_IAS_SMART_HALT_POLL
extern unsigned long poll_threshold_ns;
#endif


/*
+0 −8
Original line number Diff line number Diff line
@@ -774,14 +774,6 @@ config GENERIC_SCHED_CLOCK

menu "Scheduler features"

config IAS_SMART_HALT_POLL
	bool "Enable smart halt poll"
	default n
	help
	  Before entering the real idle, polling for a while. if the current
	  task is set TIF_NEED_RESCHED during the polling process, it will
	  immediately break from the polling loop.

config UCLAMP_TASK
	bool "Enable utilization clamping for RT/FAIR tasks"
	depends on CPU_FREQ_GOV_SCHEDUTIL
+0 −14
Original line number Diff line number Diff line
@@ -13,13 +13,11 @@
/* Linker adds these: start and end of __cpuidle functions */
extern char __cpuidle_text_start[], __cpuidle_text_end[];

#ifdef CONFIG_IAS_SMART_HALT_POLL
/*
 * Poll_threshold_ns indicates the maximum polling time before
 * entering real idle.
 */
unsigned long poll_threshold_ns;
#endif

/**
 * sched_idle_set_state - Record idle state for the current CPU.
@@ -60,7 +58,6 @@ static int __init cpu_idle_nopoll_setup(char *__unused)
__setup("hlt", cpu_idle_nopoll_setup);
#endif

#ifdef CONFIG_IAS_SMART_HALT_POLL
static void smart_idle_poll(void)
{
	unsigned long poll_duration = poll_threshold_ns;
@@ -78,7 +75,6 @@ static void smart_idle_poll(void)
		cur = ktime_get();
	} while (ktime_before(cur, stop));
}
#endif

static noinline int __cpuidle cpu_idle_poll(void)
{
@@ -86,9 +82,7 @@ static noinline int __cpuidle cpu_idle_poll(void)
	stop_critical_timings();
	rcu_idle_enter();
	local_irq_enable();
#ifdef CONFIG_IAS_SMART_HALT_POLL
	smart_idle_poll();
#endif

	while (!tif_need_resched() &&
	       (cpu_idle_force_poll || tick_check_broadcast_expired()))
@@ -292,9 +286,7 @@ static void cpuidle_idle_call(void)
static void do_idle(void)
{
	int cpu = smp_processor_id();
#ifdef CONFIG_IAS_SMART_HALT_POLL
	unsigned long idle_poll_flag = poll_threshold_ns;
#endif
	/*
	 * If the arch has a polling bit, we maintain an invariant:
	 *
@@ -327,17 +319,11 @@ static void do_idle(void)
		 * broadcast device expired for us, we don't want to go deep
		 * idle as we know that the IPI is going to arrive right away.
		 */
#ifdef CONFIG_IAS_SMART_HALT_POLL
		if (cpu_idle_force_poll || tick_check_broadcast_expired() ||
			  idle_poll_flag) {
#else
		if (cpu_idle_force_poll || tick_check_broadcast_expired()) {
#endif
			tick_nohz_idle_restart_tick();
			cpu_idle_poll();
#ifdef CONFIG_IAS_SMART_HALT_POLL
			idle_poll_flag = 0;
#endif
		} else {
			cpuidle_idle_call();
		}
+0 −2
Original line number Diff line number Diff line
@@ -1858,7 +1858,6 @@ static struct ctl_table kern_table[] = {
		.proc_handler	= sysctl_sched_uclamp_handler,
	},
#endif
#ifdef CONFIG_IAS_SMART_HALT_POLL
	{
		.procname	= "halt_poll_threshold",
		.data		= &poll_threshold_ns,
@@ -1866,7 +1865,6 @@ static struct ctl_table kern_table[] = {
		.mode		= 0644,
		.proc_handler	= proc_doulongvec_minmax,
	},
#endif
#ifdef CONFIG_SCHED_AUTOGROUP
	{
		.procname	= "sched_autogroup_enabled",