From nobody Wed Oct 8 02:16:11 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 208A02E92AA for ; Thu, 3 Jul 2025 14:07:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751551662; cv=none; b=fWKHI2XdZ8N6F6bCf4wabmJ6lhYdlTX46SBnOURBny0w9cLDVPU0/jNXm9V4TFdYq4ezy9GfyOkNMcPjP/UXUTwDkaIBXZZvpcB2r8GKrgpHwaIV+xZznrVJnvwBiSC5Dr1MNuHmEizZsnbXcRuXldOFtKF8Y/GDGARJB1J7iCQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751551662; c=relaxed/simple; bh=X/u6N70lmZ7psbV6ssBZolq4F8KRBqL9Apr7baO/45s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EU2gL5VRBHRudEtQA8HuKwx9uUYfCHTWNFUlg7u9PYqz9dueE7EIMboZcRkDPjPH1eusplNYwR8mmsOQV7/hqAaxcrL56pnDBhvXjahJpBakGbvoOJVcanx/abLjKzLPdvHk9cbpq7io0H1AyD8qjt2Y8iJkx5YJ/ZnD6XnfXtQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SsiUUfLD; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SsiUUfLD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2F3D0C4CEF0; Thu, 3 Jul 2025 14:07:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1751551661; bh=X/u6N70lmZ7psbV6ssBZolq4F8KRBqL9Apr7baO/45s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SsiUUfLDeoYsY9wMs+o30nMR0v75V/D1vnglMQOtKFWss6tuHhnNlgmShoRGFkng+ RHjCxuqo378saLlIr8EPpAwDFkVdccWdKINtQoE9q/RkFAEB+wvD5e/PhlYG0H2lD+ v5gDiXtwwubU4gVXkvtzNEv8vibqtlec8HRIhegNjBfGIYISqhUbRypCtxqwF8wbuS +Qia0SlBcXD0mamUopfNZm3R8vymX+U1BhYCuq46ggqQcMG4whevkMWIhqiySPysoe AhSwERH3CdtELB7qmA4+yhQb80nRGFrSPcPrNearTIvuTDplZnjEiUYQUhA48YYjR2 hE63GnImtLD2w== From: Frederic Weisbecker To: LKML Cc: Frederic Weisbecker , Andrew Morton , Ingo Molnar , Marcelo Tosatti , Michal Hocko , Oleg Nesterov , Peter Zijlstra , Thomas Gleixner , Valentin Schneider , Vlastimil Babka , linux-mm@kvack.org Subject: [PATCH 3/6] sched: Use task_work_queued() on cid_work Date: Thu, 3 Jul 2025 16:07:14 +0200 Message-ID: <20250703140717.25703-4-frederic@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250703140717.25703-1-frederic@kernel.org> References: <20250703140717.25703-1-frederic@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Remove the ad-hoc implementation of task_work_queued() Reviewed-by: Oleg Nesterov Signed-off-by: Frederic Weisbecker Reviewed-by: Valentin Schneider --- kernel/sched/core.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 8988d38d46a3..35783a486c28 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -10599,7 +10599,6 @@ static void task_mm_cid_work(struct callback_head *= work) =20 WARN_ON_ONCE(t !=3D container_of(work, struct task_struct, cid_work)); =20 - work->next =3D work; /* Prevent double-add */ if (t->flags & PF_EXITING) return; mm =3D t->mm; @@ -10643,7 +10642,6 @@ void init_sched_mm_cid(struct task_struct *t) if (mm_users =3D=3D 1) mm->mm_cid_next_scan =3D jiffies + msecs_to_jiffies(MM_CID_SCAN_DELAY); } - t->cid_work.next =3D &t->cid_work; /* Protect against double add */ init_task_work(&t->cid_work, task_mm_cid_work); } =20 @@ -10652,8 +10650,7 @@ void task_tick_mm_cid(struct rq *rq, struct task_st= ruct *curr) struct callback_head *work =3D &curr->cid_work; unsigned long now =3D jiffies; =20 - if (!curr->mm || (curr->flags & (PF_EXITING | PF_KTHREAD)) || - work->next !=3D work) + if (!curr->mm || (curr->flags & (PF_EXITING | PF_KTHREAD)) || task_work_q= ueued(work)) return; if (time_before(now, READ_ONCE(curr->mm->mm_cid_next_scan))) return; --=20 2.48.1