Commit e4e149dd authored by Tejun Heo's avatar Tejun Heo
Browse files

sched_ext: Merge branch 'for-6.16-fixes' into for-6.17



Pull sched_ext/for-6.16-fixes to receive:

 c50784e9 ("sched_ext: Make scx_group_set_weight() always update tg->scx.weight")
 33796b91 ("sched_ext, sched/core: Don't call scx_group_set_weight() prematurely from sched_create_group()")

which are needed to implement CPU bandwidth control interface support.

Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parents e4ee150f 33796b91
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -22171,7 +22171,7 @@ R: Tejun Heo <tj@kernel.org>
R:	David Vernet <void@manifault.com>
R:	Andrea Righi <arighi@nvidia.com>
R:	Changwoo Min <changwoo@igalia.com>
L:	linux-kernel@vger.kernel.org
L:	sched-ext@lists.linux.dev
S:	Maintained
W:	https://github.com/sched-ext/scx
T:	git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git
+9 −0
Original line number Diff line number Diff line
@@ -521,6 +521,15 @@ static int coproc_mmap(struct file *fp, struct vm_area_struct *vma)
		return -EINVAL;
	}

	/*
	 * Map complete page to the paste address. So the user
	 * space should pass 0ULL to the offset parameter.
	 */
	if (vma->vm_pgoff) {
		pr_debug("Page offset unsupported to map paste address\n");
		return -EINVAL;
	}

	/* Ensure instance has an open send window */
	if (!txwin) {
		pr_err("No send window open?\n");
+6 −2
Original line number Diff line number Diff line
@@ -48,11 +48,15 @@ static ssize_t memtrace_read(struct file *filp, char __user *ubuf,
static int memtrace_mmap(struct file *filp, struct vm_area_struct *vma)
{
	struct memtrace_entry *ent = filp->private_data;
	unsigned long ent_nrpages = ent->size >> PAGE_SHIFT;
	unsigned long vma_nrpages = vma_pages(vma);

	if (ent->size < vma->vm_end - vma->vm_start)
	/* The requested page offset should be within object's page count */
	if (vma->vm_pgoff >= ent_nrpages)
		return -EINVAL;

	if (vma->vm_pgoff << PAGE_SHIFT >= ent->size)
	/* The requested mapping range should remain within the bounds */
	if (vma_nrpages > ent_nrpages - vma->vm_pgoff)
		return -EINVAL;

	vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
+1 −1
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ struct key {
#define KEY_FLAG_ROOT_CAN_INVAL	7	/* set if key can be invalidated by root without permission */
#define KEY_FLAG_KEEP		8	/* set if key should not be removed */
#define KEY_FLAG_UID_KEYRING	9	/* set if key is a user or user session keyring */
#define KEY_FLAG_FINAL_PUT	10	/* set if final put has happened on key */
#define KEY_FLAG_USER_ALIVE	10	/* set if final put has not happened on key yet */

	/* the key type and key description string
	 * - the desc is used to match a key against search criteria
+2 −2
Original line number Diff line number Diff line
@@ -8437,7 +8437,7 @@ void __init sched_init(void)
		init_cfs_bandwidth(&root_task_group.cfs_bandwidth, NULL);
#endif /* CONFIG_FAIR_GROUP_SCHED */
#ifdef CONFIG_EXT_GROUP_SCHED
		root_task_group.scx_weight = CGROUP_WEIGHT_DFL;
		scx_tg_init(&root_task_group);
#endif /* CONFIG_EXT_GROUP_SCHED */
#ifdef CONFIG_RT_GROUP_SCHED
		root_task_group.rt_se = (struct sched_rt_entity **)ptr;
@@ -8872,7 +8872,7 @@ struct task_group *sched_create_group(struct task_group *parent)
	if (!alloc_rt_sched_group(tg, parent))
		goto err;

	scx_group_set_weight(tg, CGROUP_WEIGHT_DFL);
	scx_tg_init(tg);
	alloc_uclamp_sched_group(tg, parent);

	return tg;
Loading