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 5F3ADC77B7C for ; Thu, 3 Jul 2025 14:24:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DB7766B0195; Thu, 3 Jul 2025 10:24:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D8F856B0197; Thu, 3 Jul 2025 10:24:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CCCD46B019A; Thu, 3 Jul 2025 10:24:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id BC57B6B0195 for ; Thu, 3 Jul 2025 10:24:16 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 5EF8D1227C5 for ; Thu, 3 Jul 2025 14:24:16 +0000 (UTC) X-FDA: 83623173312.05.9C6EE3C Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by imf11.hostedemail.com (Postfix) with ESMTP id 542FA40012 for ; Thu, 3 Jul 2025 14:24:14 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b="WZOo/yWl"; spf=pass (imf11.hostedemail.com: domain of mhocko@suse.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751552654; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=estor9ztRnvqCRmKob0LoTM2G0R/YLWHt9eKNo5/NOo=; b=8c95of0XNhZwXsw2f1s8T0vKFejdflrUi6RDiEN2FHud81AiEVNQ1oujxJLxF9ODNOJvXl Wc5kqipVLMu2ji5UTIeO6oyYs3gEGOhUYG4y+JHo6dtS2fpinNJagTwPLOA9FY3OMglSU1 mxPM/6PUK2RYhX3WLGbZP9MtCMB8X3M= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b="WZOo/yWl"; spf=pass (imf11.hostedemail.com: domain of mhocko@suse.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751552654; a=rsa-sha256; cv=none; b=EGgox8+ev+Uf9Y+xubaR4KwQvTBRZeazVtT5eEnnFwoAc9FqKh3NVopz1aV2dyOQ1l69/c en1KNkXnMFSP9XLS2P6Z32yLi1eyr3hZ7ly09s/NoEQVnXsVN6pty4/KChGiJfkbGDELf5 Z0U4uY6zFKPLqK8twxNAHXvoA45fnR0= Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3a4f72cba73so708869f8f.1 for ; Thu, 03 Jul 2025 07:24:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1751552653; x=1752157453; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=estor9ztRnvqCRmKob0LoTM2G0R/YLWHt9eKNo5/NOo=; b=WZOo/yWlGzq/XrXJ0Y8fb+q/Z7YklAeP3iHXZs6FCgJoVLFeBx7/1CfNZen2dE64cA VHBYkgkAWaJJOWK1dClip27n2rdRfBWIxnYxT/r5cC8XpaIv7NSTFbWEBdcT9lPyh51+ RBSHTn+D0MLYJCUpDfRelZWJYU3zCFxEl7TRkvmuO2F9TC8uZOq4lugXR7QGuouyOoQj aaH/P6gQ2/2raNl1+0zaIc2JQwjA6D9eJ+BtupRq9CH2SSjc1r5P9xiA/K5LYobbWXyT d+a9X2jk9Xdn9OhcxTqhp0Bw2uQmnq0q/552lWVDS1cZ2TnJ0ffQjW9AgbVnq6FEJeAv eAjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751552653; x=1752157453; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=estor9ztRnvqCRmKob0LoTM2G0R/YLWHt9eKNo5/NOo=; b=Zc8HK/J6Gi5+QFKgVTidZiWX4jMb+x7nqHXtgPrMAwETEshp4GTaXlYoWQztePWrU2 VLffxZXo5++9gqQz4tw2tPeUtjn9jh1zQ8Y9R81mlHR9YYbuexcws2B8Jm5Lezy4LMEJ /G9iGAYLXMd+F9OFqIHBNP0g5HxptYdzQ8NpXC2GGlwL3kbmpQqi3H4GZbtu4jlzrBZ7 9fSJ9PUc/WdfuI4IVGZlKxBsmp9Um59jdPMrda9kzFj3wgeS1P6MjyIXrzMlEEc5hGss kdvziIhg6EMnwVUo60gT8JHw+GVxhH9NlS53YYrLCh4LWtsIYiinOSP8hBEFle0dmsN5 qSyQ== X-Forwarded-Encrypted: i=1; AJvYcCX5h0xqopTeyzeKk6HufYjUw4K9n8mC/oDMRrqaqrNk5UlJjEGAv0KRk2ZMSVp40qANfESLZuqWMg==@kvack.org X-Gm-Message-State: AOJu0Yw+s3Z9cqZuJFsPxbIUpVY9t/U35MYhP909n0hlBTl62fkP6NRb PNs8Pkq7v6u7/NvPbVeaws/Z77u4c0OQkphvHafKmJwYPJXS5bvn91Y6se5p1Wbr0D8= X-Gm-Gg: ASbGncv62xiS259Hph3d/1FzmHl1KPmeGk99y+Phzqo3kOfEd2qPpxfPDaFV2vBkQG9 XqnYTn1RLew1IcGjd+z5G3u4nK/D9OXPymnmJxHDxdP+U2QnipGamhKgIKtRFEMD3WOUNYjbX3C qLRUYdgJ+xkR3jcYHWuY4qgslRPss0dWb3g/0qzr7GHhRUPuNFC7vEyATSDejikCTd1VjYttIrh zlO3RekykBxvXNxbB2A3TpHUaSiLcQtnMgEMHKLyK+RaGHlHAGwopaNg/xcINTraCN+6s5O63JI 3gef9rUl/QkN7RQwZCmhKxpopQjK2sADcaNuGd9EBxXuWN2WBjZRAUGFrBsmy98tqvajqSAkkil XMs8KNNwNPw== X-Google-Smtp-Source: AGHT+IHh5PiIvOfAFipsb1qngFnfeQms4pXLZ5qo5YWlgcIlF9d+776p1SdIxMFr+/kz+7iOObo9cQ== X-Received: by 2002:a05:6000:2f81:b0:3a5:5130:1c71 with SMTP id ffacd0b85a97d-3b33facbe7cmr3160001f8f.0.1751552652517; Thu, 03 Jul 2025 07:24:12 -0700 (PDT) Received: from localhost (109-81-23-161.rct.o2.cz. [109.81.23.161]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a892e6280bsm19097744f8f.94.2025.07.03.07.24.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Jul 2025 07:24:11 -0700 (PDT) Date: Thu, 3 Jul 2025 16:24:10 +0200 From: Michal Hocko To: Frederic Weisbecker Cc: LKML , Andrew Morton , Ingo Molnar , Marcelo Tosatti , Oleg Nesterov , Peter Zijlstra , Thomas Gleixner , Valentin Schneider , Vlastimil Babka , linux-mm@kvack.org Subject: Re: [PATCH 6/6] mm: Drain LRUs upon resume to userspace on nohz_full CPUs Message-ID: References: <20250703140717.25703-1-frederic@kernel.org> <20250703140717.25703-7-frederic@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250703140717.25703-7-frederic@kernel.org> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 542FA40012 X-Stat-Signature: hxrk9zcubzyxgnpikf9dshxwcsuekx79 X-HE-Tag: 1751552654-914287 X-HE-Meta: U2FsdGVkX18sLKMv8h4zpO+hBnkUrO5EDlmg4fPnV7dDchYUYo85yMeGwXWDHMrVw+fjcOkPUsoFe6Uuxl2FjZgW9ZPGGMjQ63vHVWaHrApqE72i+3wopLUq0Lc+ummluMOFa1zjNzG71aWa/lbG4BlYKgF6CHAu5ormZYPjhx2YvVtdNpcXfY0AFRtrYj5agzPVj2O2kvde90imUkVQin1QAFK2SvpKdE1FThPbqn5JgCl82Ir4ZuGN892Yr6ys4U46RIWmLhIs2C0E6PUwAFuHuwppl2wEQJtXQ1+TgwQeEWgS38BXet3ujez+OTLYZ+ThB3AF+P1XOfHnVZUAC6yqD8YoY3rtRFvdDxde3vjwvC101zFnPnamAvSROY1uV00iJN82cFGADOoIFdO9MSyDFbeBrKy6jQQoM4ElhaioQ2sqvCoMid45JrrQC0Pumxx4O5C8pd+Uahkg+9yPc5luEmWdZbj5NamNBO5rV9Eyy9FHuiGdTsPqPuXCNllxSMqcakrCXwrmHR3zaHXYLr5EW68KHDi4MXey3cgX/dptSqxyZeBjzK2Ri+OvbaJp3wyA7dGMFD4EuqsivBdJtqa25IhG2pHefRzNbezf9JHiR7dulXqJo/FCUlKLfRao1INeyPf+2QPiO3tgU6zySHOLVTQPikM+A5CsLbhDPvpeI6UgUeghaxbDYph1PHBBydIt5vliLlzD19VWae5v4DFI2vMTwKAjgRI01ICRh1lm0iL690JRTbCp+h7wx8q+PZ/ppYxWoZ2tl1uHPB2TLFQXWGBZHfNtvGjbRJdSX356V4Rtl0ebg5cSdFEENdJqaXoSfyZD5f51yrDYkz3ed3J5YQdHNFPySGmoDplBwV6BUbzV/7+m5hZHSmoJudxUMwImy8aMGso7sElh86NUZ87zjw0pXonS/tv8f4JZMZz7ErFE1D+iAyU/D63OolVxIAoc4542uj/TfL96Se/ 5FjVEIsE r3NQtw0voq7GmJYChWCJyi2KTGmPXh1GUTdSQDF9BTQ5ptSd1SP/1ISmh5EHhOEP1IGlK 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: On Thu 03-07-25 16:07:17, Frederic Weisbecker wrote: [...] > @@ -864,6 +888,10 @@ static inline void __lru_add_drain_all(bool force_all_cpus) > for_each_online_cpu(cpu) { > struct work_struct *work = &per_cpu(lru_add_drain_work, cpu); > > + /* Isolated CPUs handle their cache upon return to userspace */ > + if (IS_ENABLED(CONFIG_NO_HZ_FULL_WORK) && !housekeeping_cpu(cpu, HK_TYPE_KERNEL_NOISE)) > + continue; > + Two questions. Where do you actually queue the work to be executed on the return to the userspace? And why don't you do that only if cpu_needs_drain? > if (cpu_needs_drain(cpu)) { > INIT_WORK(work, lru_add_drain_per_cpu); > queue_work_on(cpu, mm_percpu_wq, work); > -- > 2.48.1 > -- Michal Hocko SUSE Labs