From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0C907C77B7C for ; Thu, 3 Jul 2025 14:07:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 77D7A6B0196; Thu, 3 Jul 2025 10:07:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 756D86B0197; Thu, 3 Jul 2025 10:07:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 66D4C6B0198; Thu, 3 Jul 2025 10:07:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 4CA2F6B0196 for ; Thu, 3 Jul 2025 10:07:40 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 04F671A0168 for ; Thu, 3 Jul 2025 14:07:35 +0000 (UTC) X-FDA: 83623131312.15.B2BF0C5 Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf20.hostedemail.com (Postfix) with ESMTP id 5D93B1C000C for ; Thu, 3 Jul 2025 14:07:34 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=GvfbuRZz; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf20.hostedemail.com: domain of frederic@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=frederic@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751551654; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=D86Wob2UcgSvnWuzsqV0BW6MHIihp5zG2boYCIadtXI=; b=ZweVYrW+mMFeCRvTVEF2pk5y/U/ZvIc9B+x2hgdjCEmUNFCtoWk4aYJhdeE81guUyV8j5R 8uZMzg7oPhS+6TyVKr6ASrfr0hmfrZiNfY9thg78jl98KVhDjVm30sF025z1FA/JiJGVB6 F+NaCuXGZhuTeorXzDQH+FTBRBd4Jj4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751551654; a=rsa-sha256; cv=none; b=XvCfM1eEI7Napl/kJgTFzTjw4LqTS6Sa0pqOw/ajpwBSsSE6scVnWmQcuGpoaPEg+7o4WJ QZeC4kwPyaqC+G3oQzviIvr7qY9Vp94IgDdSF/RCtVqYjsGWBjr4ZLCf9tItGNCI6sdI4r aRiDcjHHriZqYjmNVD5InAsB9M+napw= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=GvfbuRZz; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf20.hostedemail.com: domain of frederic@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=frederic@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 193B845AFC; Thu, 3 Jul 2025 14:07:33 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7358EC4CEE3; Thu, 3 Jul 2025 14:07:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1751551653; bh=aGQWnq0QCADOSirD4jg6Bw1RAIJiwhztAM0VS25tjiw=; h=From:To:Cc:Subject:Date:From; b=GvfbuRZzCxRSB3obuOFCZE2quIRObLGytbFv6dYkGBo5IQ/JWNx8EnUQCZHB7NxB9 3/LQJLiVO7Kc/k80CbT3rEc+K7Tm9BeWryFuYWiXt7YExOKMTrD8uC3ax+A+48jnew g3QkrNpziYBP35FXyJwVIpzebFASVdVRevDlgD4YpSBSpnNzItlATS5gdO2WjRb0CI TAve5DpVi6Xm0ata7oCZk7qo+Ws9aFE/vO9om1QvqRMbZJafl1thHb4Nq6TuOapJCQ pZRm5Cv62Z5NgyOPJWYgZTlV+dW1It3qxW61ZNrn0NZx+hVMDWVUxxrE1FFrtze+7O Td6fgJcHq/gSQ== From: Frederic Weisbecker To: LKML Cc: Frederic Weisbecker , Oleg Nesterov , Peter Zijlstra , Valentin Schneider , Thomas Gleixner , Michal Hocko , linux-mm@kvack.org, Ingo Molnar , Marcelo Tosatti , Vlastimil Babka , Andrew Morton Subject: [PATCH 0/6 v4] sched/mm: LRU drain flush on nohz_full Date: Thu, 3 Jul 2025 16:07:11 +0200 Message-ID: <20250703140717.25703-1-frederic@kernel.org> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: 4c8aepjoz5t7whpoaci6abb7jceqs1bd X-Rspamd-Queue-Id: 5D93B1C000C X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1751551654-176031 X-HE-Meta: U2FsdGVkX18hxBkuVsKBTH1N59q8MP8wV/QHuEZhlOHmyG4vrewTRTYO9a8dHuMtyAJJJgphDJ4Q3RPIMAwE44hx8gs/eA5LT530Q8cGya/S40HHBnkISFhipOSZ+WZFkh//cQsuTjoupuSKIeCJT9Vi6xmuUTmDhms7+LyQ3UQ+qIOceRDi6O5inWeFofn8Sw7u4DmidVZcpk3VR92wsWM+D9CHCaGuslPPp9uUhcijVOMlet6L62jRDc7rYeeSt8keq9y2Sy6QXenBLec3B2KJCtCDoMX7YGsfLgKFZ1ro++9RQ0THCZh0n+WKr/rkimgiKUpUXA0BKCMYq2kWfq7bGCiJDsrn2zy3c0GmSJEMeKRHD+mhSItCMmsrRDzlO3BaWVoK0xG7rjo8tI/U7aRUTgTrO8/KReGVJ35I0I19l6eSSlfhSRaGeYAJvnsUzfkPcyYTLR7OSntMMflpT//0HQ4RRnWkLePB69HMRtB7IJZpRGXYaDUQv5lU6W6uSGrobbgMNSAh97SUYGQ6pMe8rUNrBznzcN4RFFAy/KAm0qRya/NcP1g7IiGlBgsH6/Yi0ONBO80txJIEVDXEIUSQoIKSrjd0C0kWdbTM1kt8yYzf7pJMOcA4pb4Q5iPo5eb77SXJ6qVDKeR1I3CnWCYHgT49Xjw+ZlnsgGVZgS6mepRcidsounEo4vJvmdex+/f3RjwhcZpnvoBUO8C8m9SWWJzeUwE/3v5/Lgfa056o/IFkf9LeUji7X4pruzjfRjAVTr9cyZP1wZe9BonEmRYK+6/ojq5U4Nub6C6DNb6ZawI3ZWHjtbDhV0Hy6UZGyBFX8B9K8/iE1eqpE2Oe7thv1n8pA9WeaZlQGXaSEXTqD2VIrIb+1zISwi9NhEt0hjhjRDBd2dAOBTUT9ivGcOt/YwsIggbBX7ONO8rDMkvOFxlriXE4wviY2S9v8NHiL4Bd4GhQHXY/4ruO7O5 s5FR7FhT Ei/et0otLq3rgdtD0Q9VHeSUCrbVdCg7j9LrPwyRe1zOR8BcLVGtwNMhomZIXEWI+kbLj3yVeQwW+LY0evL1aVBURsPC2CwDSSASEnJkgAAyOdjwWlVasx2TECR9MdSIoIzWDlN2F99wbEtvhemvbkEklpkh5G0PFASy8CFC8hS4q0XYQywC+jd45qneahvg8PRhD4b5tTYXH8xD4oTfMBuPJoUp3ygd13Xn0IS+aOgbA1tMMp+6iBgnTOIChUqM8xHOVbqDr5pCdRo8IdCEEo6vYyzekR5HoZTi5QRKNDQ8TRCpFpxfApZzmL/BLcI5MhHE2 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: When LRUs are pending, the drain can be triggered remotely, whether the remote CPU is running in userspace in nohz_full mode or not. This kind of noise is expected to be caused by preparatory work before a task runs isolated in userspace. This patchset is a proposal to flush that before the task starts its critical work in userspace. Changes since v3: * Apply review from Oleg and K Prateek Nayak (handle io_uring kthreads and use guard) * Confine this into a new CONFIG_NO_HZ_FULL_WORK because it is still experimental. git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git task/work-v4 HEAD: 87896fa0dc36b421533c9dc85dd32b61eaff887b Thanks, Frederic --- Frederic Weisbecker (6): task_work: Provide means to check if a work is queued sched/fair: Use task_work_queued() on numa_work sched: Use task_work_queued() on cid_work tick/nohz: Move nohz_full related fields out of hot task struct's places sched/isolation: Introduce isolated task work mm: Drain LRUs upon resume to userspace on nohz_full CPUs include/linux/pagevec.h | 18 ++---------------- include/linux/sched.h | 18 ++++++++++++------ include/linux/sched/isolation.h | 17 +++++++++++++++++ include/linux/swap.h | 1 + include/linux/task_work.h | 12 ++++++++++++ kernel/sched/core.c | 6 ++---- kernel/sched/fair.c | 5 +---- kernel/sched/isolation.c | 26 ++++++++++++++++++++++++++ kernel/sched/sched.h | 1 + kernel/task_work.c | 9 +++++++-- kernel/time/Kconfig | 12 ++++++++++++ mm/swap.c | 30 +++++++++++++++++++++++++++++- 12 files changed, 122 insertions(+), 33 deletions(-)