From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yx1-f50.google.com (mail-yx1-f50.google.com [74.125.224.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC338438011 for ; Mon, 24 Aug 2026 14:37:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787582225; cv=none; b=J+KkKzKdPgYTJcWn2hz2FkR3Pcgl9JhRkZ8+oLmQrULGu9Uzp4yJFA8MbPk9Igg8SwgLMKOhG61DK7QHTZW+3+G+KEq1ZJWwZGbhpLpv+S3MdSKfyJBVmKh7lqalaKe+V8cqNn5wRkpHQf4EWe8Amq0Gyx3kYqS12E7BXEJjD2M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787582225; c=relaxed/simple; bh=1YRYVGkuKNtQk+ObMqK/890RkRJk46OHbYzz71c/FoY=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References: MIME-Version:Content-Type; b=skTAz/xT5vNaajjXPeYvS7sT/2g4ZD00+yGCXuxaEPa2oBwtlMfg3UrGnCOWXHIX9XcCVh0oFvI8VFY+5nA4xEVRXXx/N6ZbLuXq2r42b/UMxKGJ0pz7xQsnDjoDr6TiuxMQ77EYyGul/2KGxZimJJAMSgnJGNRgsXRDaZcj2JA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=CpoTD5X2; arc=none smtp.client-ip=74.125.224.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="CpoTD5X2" Received: by mail-yx1-f50.google.com with SMTP id 956f58d0204a3-66d06b5f023so1612382d50.2 for ; Mon, 24 Aug 2026 07:37:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1787582222; x=1788187022; darn=vger.kernel.org; h=content-type:mime-version:references:message-id:in-reply-to:subject :cc:to:from:date:from:to:cc:subject:date:message-id:reply-to :content-type; bh=dFFCpD+eyjMYiOlaAWIMnRn59i/x4sm2LgO1kNi90A0=; b=CpoTD5X2Yap6uyOE19vYISXLZLUPaFug+oYxYnFCxjdDvc/IoO+SW/2rh9+xSgQaCo MxsDfnJdHR4y4UsTLKJ9tB5Eu3l/k9lwrum05vtjfTL6VFXGra1GIDZWaDJSjrAM6nwj aOIzSjO/H69XukuT82R+NGw3hyFDx3YegL7S5PRdlzPOdtEoyB/qTVRrtdGa1MwzAcxh H1PNXBt9gLhpHKRMVy8RP/HaVXlhrOHTI2ZXz6NUWxzGW5RulmZ2LrtgJTuYaj4fWNl6 4RUJpUUkoPUMOzaHzrUOYgmftSCaIQ6reFW+xKhc8L7+qgiEv8+BI4UcNtYj9curBKdR T/gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787582222; x=1788187022; h=content-type:mime-version:references:message-id:in-reply-to:subject :cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=dFFCpD+eyjMYiOlaAWIMnRn59i/x4sm2LgO1kNi90A0=; b=Yh4zcNSpE+qYy7GkpE/oNUOau8It0BbRXrOCaKOGt5wZA800Onj3J/ElbXyzSabueC nlPN/XGU6QtBqghodpZmjtDGZXmtmsU21emy2HDs/pgvTbsxoM6BcT6fgvUAjlgxH5J1 IWQOkR9ZEnI3LFjjci4zzSCmIppjIJ4DGgSs0UPbmpbHbBiABdcwPzoScmJBd53LJruh Mjf22/ugWXnzDKuGLbS4y1ithnzVnLnQv95weK33dC19CAsPgx5CA65PErVHrfhva6lD CaMED/oo/47Tdi9Vqj4HWD1cMuRpcAphykaMEwKyExWNVKx6MxHb6z5ZWxUw7wFn4G+0 YkkQ== X-Forwarded-Encrypted: i=1; AHgh+Ro7svYwCgiE1/7ZlU0r/cz+lXyTOoTKoJSEB1i1ODFtfy0acNYnoaMb+E5DXs8xQI0wNCSHIYfSxRhxhdU=@vger.kernel.org X-Gm-Message-State: AFuF++lidkqIAtknMUqOk3N62SJ5XrhjccYhMtVIOdOAgnvKnntcFBgu 4aYslRrhno8ud1MIFJfHm2s9dUO6A+ye2rY6hNSqLx1e2q0cb0OEF5zIjqfkawd/5A== X-Gm-Gg: AR+sD114w12KH+xcWEZ4DpmA9GdazK7vB5Ng3BH7Kw3kwUtqIw+khPTht/73ueKYD3H 0vWZzgu8SmYGC5Drx4hAuToOnQwvxAGQ2DER4RoVeLZfi5O1ovZExeYR25AQbqZQz5B4A0AdCSs pqj7poecYq69KDRQph2Uiyy7ACBHcM/IVA0xCPAynZe0+vy5fvLIHCavmVjh9kYB/cUrC1ab/kh 7BhIo6ItMjWrxMc+/HmSEtJOSOZ5AvPkIhWLiovnKC5y0LFhJCTvrPrWAKR9JyUpMwHckwJANlS NIS2zZI95r1iKdXVb7AVfdQ5OQ0oyR3nMxPXkIvyDircPdxZthGJ5izzCY9eVT40GatxpqSpkN7 grTqPmXEKYPLsdxEiL8EHowuJLDQzyUQRLlMTklKnFsVHcpeJMK5oaSAPPZ1rXfpi6IXSYW0Ly+ T2/HM4o+8PYiJBzNeubf08oeN15v0SrmTGsgFLEXBiKvtw4QmlMl5cqMaNCkU30d3+QNKa0xusX s8IO6uSP5/ywniHdFDDBxMtbuFVjaws/Yc8Ik9bO878O64F X-Received: by 2002:a05:690e:1309:b0:66d:7b7:e36c with SMTP id 956f58d0204a3-66d07b7ea83mr2357073d50.48.1787582221803; Mon, 24 Aug 2026 07:37:01 -0700 (PDT) Received: from darker.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-66cf46460aesm3729534d50.6.2026.08.24.07.36.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Aug 2026 07:37:01 -0700 (PDT) Date: Mon, 24 Aug 2026 07:36:57 -0700 (PDT) From: Hugh Dickins To: Andrew Morton cc: Ackerley Tng , Alexander Viro , Baolin Wang , Barry Song , Binbin Wu , Christian Brauner , Christoph Hellwig , Christoph Lameter , Claudio Imbrenda , David Hildenbrand , JP Kobryn , Jan Kara , Jens Axboe , Johannes Weiner , Kairui Song , Kiryl Shutsemau , Lance Yang , Leonardo Bras , Lorenzo Stoakes , Marcelo Tosatti , Matthew Wilcox , Mel Gorman , Miaohe Lin , Michal Hocko , Minchan Kim , Muchun Song , Oscar Salvador , Peter Zijlstra , Qi Zheng , Rik van Riel , Sebastian Andrzej Siewior , Shakeel Butt , Suren Baghdasaryan , Vlastimil Babka , Yang Shi , Yu Zhao , Zach O'Keefe , Zi Yan , linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 19/25] mm/fbatch: vm/stat_refresh include lru_add_drain() on each cpu In-Reply-To: <14a16945-529b-8bc0-ab38-3ea97e54e223@google.com> Message-ID: <509da837-bd5c-2090-d26d-0002fef0b1ac@google.com> References: <14a16945-529b-8bc0-ab38-3ea97e54e223@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Reading or writing /proc/sys/vm/stat_refresh has long been a way for testing to force an immediate refresh of /proc/vmstat numbers: it seems appropriate that it should also call lru_add_drain() on each cpu that it visits, before collecting that processor's diffs. Add that in refresh_vm_stats(). I wanted it in refresh_cpu_vm_stats(), which would include it in the regular (default HZ) vmstat_update() too: which might be a wise precaution when proposing to eliminate almost all the old calls to lru_add_drain_all(). However, that would go against its "strives to only access node local memory" cacheline care, and bring it into lruvec lock contention: which would probably displease its authors. Signed-off-by: Hugh Dickins --- mm/vmstat.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/vmstat.c b/mm/vmstat.c index 3b5cb1031f72..0f75488687b5 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1973,6 +1973,7 @@ static int vmstat_late_init_done; #ifdef CONFIG_PROC_FS static void refresh_vm_stats(struct work_struct *work) { + lru_add_drain(); refresh_cpu_vm_stats(true); } -- 2.51.0