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 22502C4828F for ; Fri, 2 Feb 2024 22:51:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AA1166B0071; Fri, 2 Feb 2024 17:51:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A50726B0085; Fri, 2 Feb 2024 17:51:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8CAA06B0087; Fri, 2 Feb 2024 17:51:39 -0500 (EST) 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 79B976B0071 for ; Fri, 2 Feb 2024 17:51:39 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 2483BA0741 for ; Fri, 2 Feb 2024 22:51:39 +0000 (UTC) X-FDA: 81748362318.23.29264BF Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com [209.85.128.170]) by imf20.hostedemail.com (Postfix) with ESMTP id 93ABF1C000D for ; Fri, 2 Feb 2024 22:51:37 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=sCwOk2KM; spf=pass (imf20.hostedemail.com: domain of tjmercier@google.com designates 209.85.128.170 as permitted sender) smtp.mailfrom=tjmercier@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706914297; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=n92Fu6TwisuAtTr7JJdYG/vygZsi6nTJ2ebXGYpQOpg=; b=8rIu0X/idTvnbvEpZVVUVQXoZRWWhTjLtvYFDzJ6hEWukJSedosfagZk2h8EopbwiJmOZv Njlxr42qajRGlIek+8ZqQeUnkL+8mNV7UqpFwco7qQo22IqA7/O3ZOh9d1Mu5N08DRAvFj hRvDMl4PvBQx0XYSeq6Xs3bYIv1LJ7s= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=sCwOk2KM; spf=pass (imf20.hostedemail.com: domain of tjmercier@google.com designates 209.85.128.170 as permitted sender) smtp.mailfrom=tjmercier@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706914297; a=rsa-sha256; cv=none; b=YLTAn9cHy1y1Jx0TKKkFOvncG82mDjFZG10K6Y/67HEvI2Tr/2Wunv5SPKExQkzCyOZkjY jYxtDc3zFfAxuG0g6OzAmE5Sn4TCL/fIUJ3c2nJ/Uye9pAOcoqYS1WD7Mov/3k5JB4TYd2 m3XkUNnkBCeLknx6w0STVluWi6uoyV0= Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-6041c7aa418so22524157b3.3 for ; Fri, 02 Feb 2024 14:51:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1706914296; x=1707519096; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=n92Fu6TwisuAtTr7JJdYG/vygZsi6nTJ2ebXGYpQOpg=; b=sCwOk2KMx461hPjIq2wjU/QhfpiQZF1avU1XAoPlWRky9EiwFdNhtmHYZLTT3yEJ+J KRMQz2rG/ddi6rGHkXelyoPfmteJTnqwc+K7hI6lrzllR096U1uKRPHyRxa8x5ESxgYG GVD17g8OPC+ws4JfhA1SplXOXCh6TK4uNfgXe3jG//B/MbwSeJb031B9ZAYWKNFvuRRZ 0d2/2+JEwwWNhAcUYFda2WaoKg2dy377nRZodirTcsQHULPioKbrl07065iZSmeR2ZNT 8bdHO7JuN3CspjjUIVyGhu8x6zBY1KiRJuUCKSaq8nIiAMv0DN2uCA49Asi1wcI4BD+9 tYsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706914296; x=1707519096; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=n92Fu6TwisuAtTr7JJdYG/vygZsi6nTJ2ebXGYpQOpg=; b=Y6n6N4yfLU7KixFWUKF7g9MuO0IUWRXku2IVPRCpN3UKE8s55DjBnnyYlfeMW6YZfK RmieJjvGGQOTGW1PASTERLIzkbJ+KAZaLWH3e02Gr0LAGgYhJXOb8vF2JznKx4RRDt4i S3XTsPHDAxfEnoyDbVIzDdoMOYsQ7bvnsQFXHOG3K+3ozLjvLRSr36TMs9Ng0zf1LLMh 3hIcb4qPLUUImzCIinR/H6eT/qZukpLtny30LJiXZTuQdroLDKl1EaHEZ3sZxZtyQmyP BaYDLX4r73Kw8hQ6xben6np/8JMxFKN8TDy7vow9BHE3j44+qRhPT/8XTXT0cXSdgqvx IrPA== X-Gm-Message-State: AOJu0YyS30YMlYxZrV/f7I6bfWo10Uk/amoR3MfRR6Z48T8HJ1S9WQ/v 90pqJKQ4VvJRsG6j+66vyEsXqv/nHy2gUFOYJ157tv89ti4LjKffom2Yy3y50M2puNeqXKJ0Ay6 KZ9qibW82KIkN6skWKeYgIyCvAgQejnabdRIn X-Google-Smtp-Source: AGHT+IEiVfBlMxC3GtvgGhWtev4FkimbTiFm2fzVIKEWCb6b/ncuAwnXufqqodRaSYF3KOPCIkg5YGPZLdo/AOKMaW0= X-Received: by 2002:a81:af55:0:b0:602:c0d0:d4e6 with SMTP id x21-20020a81af55000000b00602c0d0d4e6mr9730577ywj.0.1706914296497; Fri, 02 Feb 2024 14:51:36 -0800 (PST) MIME-Version: 1.0 References: <20240202221026.1055122-1-tjmercier@google.com> <20240202224117.GA341862@cmpxchg.org> In-Reply-To: <20240202224117.GA341862@cmpxchg.org> From: "T.J. Mercier" Date: Fri, 2 Feb 2024 14:51:24 -0800 Message-ID: Subject: Re: [PATCH v2] mm: memcg: Use larger batches for proactive reclaim To: Johannes Weiner Cc: Yosry Ahmed , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , Efly Young , android-mm@google.com, yuzhao@google.com, mkoutny@suse.com, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 93ABF1C000D X-Rspam-User: X-Stat-Signature: tnj9k81ombm3eorpj1kbx8zgqqkh8ugu X-Rspamd-Server: rspam01 X-HE-Tag: 1706914297-279876 X-HE-Meta: U2FsdGVkX1+6NdN6FSB/dCMIWgje8KSxNTgxfriyWUPOA0Ja0eCgw7FUIslMPLNLe/Q6q7XgX430vi/hmVg8EsCwWTUVLHZihgXv9HhFAByH2fboEYs4xCs84WSaQCCYE8S4WSvCxAewUbisFKlSGX4FQia3pT2PTA9KO+f48qt/p2x7cEVIaSSaGSXbw3615o3qhpXBlxxJhbsYDgngeKTvJBaZqkkrp5GsHpF8sVKs+2TcIBCR8U8467oqlg+KhC3z5rqMXDxf8vzbv7sPnrR9sdvtq7393ETuPcQeai1w8q3OsQKygkuS/eug/K+lcRiQINX938GVXsE+HVhF6rLrJk1BOUYYKgU4wD/JQ27CAlA8Y+WsuVGI9PG14g7zM87x4r4Sicr4H5eK1aikUckIYP3XhZR4aI1te6SbolnLLixZWDM0ziSdsc6wnfbw/6AuLcwCkqpigCRT0GaNx2MAN2wsfmyWCOMpvC6RPXP6kxutfRb9TGxUgMrsvVhg8ughFg9kQEflPwlMuYwbB6fSKP3r4IawKOULcOEhNhyDo+n2uKl+hC1KusS3D8obPpls6H4gjp59Doa4wzeDpJGWC+aPmyVZHZQ/PG9QDNn5F5/r2QhQp1lqmm1louzVL3dxmkNe/2HQeASEX+0zNL3/16g45vD5p/435FpT3vD7p4yQVGBNMQVZYoFi5+VGhy8Tq7Yi1DEjXdS8cMaCgcyGoyPl5zJU5wu2+KTr4yJe90WHiY7XBn0E4tdHspWxSD8PyLa1eME6PD8Q/lRxQbjoQ98b8a/h6PtFyaMGyDjJhcTdrok+/lX0vMA2/m9rqEgLGSImm9z84fNhrXzYCENrl5Rle8GIgKjdvmozvS3d7kyuFV7yQ4vt9LWYA0AhngcWnnRuDWsNuThPZANxiCjXS30BfOa6q8PqHfBRZfEwA/iV/+GBBbnY5ONeO5H/fj7bOANjx81xorE2AjH JFA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 Fri, Feb 2, 2024 at 2:41=E2=80=AFPM Johannes Weiner = wrote: > > On Fri, Feb 02, 2024 at 02:13:20PM -0800, Yosry Ahmed wrote: > > On Fri, Feb 2, 2024 at 2:10=E2=80=AFPM T.J. Mercier wrote: > > > @@ -6965,6 +6965,9 @@ static ssize_t memory_reclaim(struct kernfs_ope= n_file *of, char *buf, > > > while (nr_reclaimed < nr_to_reclaim) { > > > unsigned long reclaimed; > > > > > > + /* Will converge on zero, but reclaim enforces a mini= mum */ > > > + unsigned long batch_size =3D (nr_to_reclaim - nr_recl= aimed) / 4; > > > + > > > if (signal_pending(current)) > > > return -EINTR; > > > > > > @@ -6977,7 +6980,7 @@ static ssize_t memory_reclaim(struct kernfs_ope= n_file *of, char *buf, > > > lru_add_drain_all(); > > > > > > reclaimed =3D try_to_free_mem_cgroup_pages(memcg, > > > - min(nr_to_reclaim - nr_reclai= med, SWAP_CLUSTER_MAX), > > > + batch_size, > > > GFP_KERNEL, reclaim_options); > > > > I think the above two lines should now fit into one. > > Yeah might as well compact that again. The newline in the declarations > is a bit unusual for this codebase as well, and puts the comment sort > of away from the "reclaim" it refers to. This? > > /* Will converge on zero, but reclaim enforces a minimum = */ > batch_size =3D (nr_to_reclaim - nr_reclaimed) / 4; > > reclaimed =3D try_to_free_mem_cgroup_pages(memcg, batch_s= ize, > GFP_KERNEL, reclaim_options); > > But agreed, it's all just nitpickety nickpicking. :) > > Acked-by: Johannes Weiner -std=3Dgnu11 to the rescue + /* Will converge on zero, but reclaim enforces a minimum */ + unsigned long batch_size =3D (nr_to_reclaim - nr_reclaimed)= / 4; reclaimed =3D try_to_free_mem_cgroup_pages(memcg, - min(nr_to_reclaim - nr_reclaimed, SWAP_CLUSTER_MAX), + batch_size, GFP_KERNEL, reclaim_options);