Commit 7574ac6e authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Peter Zijlstra
Browse files

sched/mmcid: Remove pointless preempt guard



This is a leftover from the early versions of this function where it could
be invoked without mm::mm_cid::lock held.

Remove it and add lockdep asserts instead.

Fixes: 653fda7a ("sched/mmcid: Switch over to the new mechanism")
Signed-off-by: default avatarThomas Gleixner <tglx@kernel.org>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20260310202526.116363613@kernel.org
parent 28b5a139
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -10684,6 +10684,8 @@ static void mm_cid_fixup_tasks_to_cpus(void)

static bool sched_mm_cid_add_user(struct task_struct *t, struct mm_struct *mm)
{
	lockdep_assert_held(&mm->mm_cid.lock);

	t->mm_cid.active = 1;
	mm->mm_cid.users++;
	return mm_update_max_cids(mm);
@@ -10736,12 +10738,12 @@ static void sched_mm_cid_fork(struct task_struct *t)

static bool sched_mm_cid_remove_user(struct task_struct *t)
{
	lockdep_assert_held(&t->mm->mm_cid.lock);

	t->mm_cid.active = 0;
	scoped_guard(preempt) {
	/* Clear the transition bit */
	t->mm_cid.cid = cid_from_transit_cid(t->mm_cid.cid);
	mm_unset_cid_on_task(t);
	}
	t->mm->mm_cid.users--;
	return mm_update_max_cids(t->mm);
}