Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95ce9d98 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "sched/core_ctl: Integrate core control with cpu isolation"

parents 461424e5 e42aae95
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@
#endif

#include "sched.h"
#include "core_ctl.h"
#include "../workqueue_internal.h"
#include "../smpboot.h"

@@ -3090,6 +3091,8 @@ void scheduler_tick(void)

	if (curr->sched_class == &fair_sched_class)
		check_for_migration(rq, curr);

	core_ctl_check(wallclock);
}

#ifdef CONFIG_NO_HZ_FULL
+248 −234

File changed.

Preview size limit exceeded, changes collapsed.

+24 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#ifndef __CORE_CTL_H
#define __CORE_CTL_H

#ifdef CONFIG_SCHED_CORE_CTL
void core_ctl_check(u64 wallclock);
void core_ctl_set_boost(bool boost);
#else
static inline void core_ctl_check(u64 wallclock) {}
static inline void core_ctl_set_boost(bool boost) {}
#endif
#endif
+3 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#include <linux/syscore_ops.h>

#include "sched.h"
#include "core_ctl.h"

#include <trace/events/sched.h>

@@ -1090,6 +1091,8 @@ int sched_set_boost(int enable)
	if (!old_refcount && boost_refcount)
		boost_kick_cpus();

	if (boost_refcount <= 1)
		core_ctl_set_boost(boost_refcount == 1);
	trace_sched_set_boost(boost_refcount);
	spin_unlock_irqrestore(&boost_lock, flags);