From patchwork Thu Jul 11 02:13:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Zhao X-Patchwork-Id: 13729929 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 53072C3DA42 for ; Thu, 11 Jul 2024 02:13:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AA1CF6B0089; Wed, 10 Jul 2024 22:13:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A50DA6B008C; Wed, 10 Jul 2024 22:13:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 93FCF6B0092; Wed, 10 Jul 2024 22:13:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 76AA36B0089 for ; Wed, 10 Jul 2024 22:13:25 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 24D0AA0330 for ; Thu, 11 Jul 2024 02:13:25 +0000 (UTC) X-FDA: 82325849970.29.4B5E773 Received: from mail-yw1-f202.google.com (mail-yw1-f202.google.com [209.85.128.202]) by imf21.hostedemail.com (Postfix) with ESMTP id 7C5EF1C0003 for ; Thu, 11 Jul 2024 02:13:23 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=3xOj8Iav; spf=pass (imf21.hostedemail.com: domain of 3wj-PZgYKCLkxtygZnfnnfkd.bnlkhmtw-lljuZbj.nqf@flex--yuzhao.bounces.google.com designates 209.85.128.202 as permitted sender) smtp.mailfrom=3wj-PZgYKCLkxtygZnfnnfkd.bnlkhmtw-lljuZbj.nqf@flex--yuzhao.bounces.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=1720663970; 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: references:dkim-signature; bh=1ni9rKczF40GrcfFt9GEMDFIGhJ0QRYO98iDUbRTJSw=; b=29adWdF+/QZjb+ho2OWakGM6RdW6zZFIU/TBXqm7DWMKfY/NdcSGop1Te/a/MhqYlKC1WS ZMSdaHgqlgeUw4kQZwGYo8xPfZbwCkGTTVkf2vugnNFuwWBId51GyiZVu0o35hEjbSAKZx k6AIRGWBrp9No+OanKuE1H449s9a99w= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720663970; a=rsa-sha256; cv=none; b=FLPx4E4lPqLw91bOKV4v61wTYtKO+kZua2Jdne4sJNxRt7bbyfmvV+w8gFrBpuig2QiWD9 eljcHwRXObRPca9wy+Ilp8P/L/e2CCF3qFIV0TQuMg5czGMBPWb5HMnaiveNeQXSE0h/Xd Po6nBP5ISQ4ZnsA48CbKeCHmnn0lloE= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=3xOj8Iav; spf=pass (imf21.hostedemail.com: domain of 3wj-PZgYKCLkxtygZnfnnfkd.bnlkhmtw-lljuZbj.nqf@flex--yuzhao.bounces.google.com designates 209.85.128.202 as permitted sender) smtp.mailfrom=3wj-PZgYKCLkxtygZnfnnfkd.bnlkhmtw-lljuZbj.nqf@flex--yuzhao.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yw1-f202.google.com with SMTP id 00721157ae682-6590a57788aso6533687b3.2 for ; Wed, 10 Jul 2024 19:13:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1720664002; x=1721268802; darn=kvack.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=1ni9rKczF40GrcfFt9GEMDFIGhJ0QRYO98iDUbRTJSw=; b=3xOj8Iav2li/2Fd6e0kCGbT4206E5kOJdWorz5dAGGSosCk7cBfpOh8b8dLVIeJon0 D43xNUOWA2eq+nSTTm9QzCZAQwJaE588WUK8gUaE1zhs3RDJH4rDO/VGikU+2E05Z5SU zqBuPfEKSHCy96DTR3+Xk7efOnGwdiLHYexQCMmyaqxFDmULu4RvG9Z9fzYw3M+XOO4u kEY1gMBBaED13Q2oyPz8k56EPkEgcc9huZrm0vsgw+WEU9Yg73tIMBXe01Ocle4E1DJq r+itySOWN37u8ojd2ySckRgdFic6oQ4cP0rfVYMnXNQEkUYqorgx+4jp/5yQrzIwQqOP XA/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720664002; x=1721268802; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=1ni9rKczF40GrcfFt9GEMDFIGhJ0QRYO98iDUbRTJSw=; b=FS/FW3FuurkCvNY3ZrCPQIJBWnYJXMw/pPsTRf8OKMmdsmPZEipuWcLGpzvDl18pWw vGxIkSTXqZHYxf1iG8DzRR8HnB5qBV+7OS12NzLLdPivnxamVpoBUhElcKqeajkgp03B 3AX5QpXCyTq5V3RxOa4u6tPS+UBHMQHXBPlnRPdLYCdwyiVlc65UlK5T1rzqpvaFkunu ogOS578bhzz9p1LEn7/Wwj+Irk20Mw4hA520qBEyztrKHlkJMNOueF/3RBpFwY6lff88 6fUE1oU+WcImE3r3nTB3b2VGxMk/ihew89PfqBF1tCSKvgoQGuo3AwuGSH2RM8J1l8Ab L/zQ== X-Gm-Message-State: AOJu0YxBw8Wk8Vib8vihnTB5lgnLi9CFBq65pZjydpGFYzmMiYjnflMi BjieT1kCiLT4Z0J4+tpyv5Ulr5GqKDVPxOUHmlyIy6Zp02ybsqea9Aaimk4a5Xp4akdF5jwWBy8 meA== X-Google-Smtp-Source: AGHT+IFOxzrR2bVnP7JYh+vLfXLNNPK/nDMN+vnM+ywC7hFF3f7JX5UwfD1uk5Yqqk51uLGGuXY2zKyN9aI= X-Received: from yuzhao2.bld.corp.google.com ([2a00:79e0:2e28:6:9b06:2f28:6675:a98b]) (user=yuzhao job=sendgmr) by 2002:a05:690c:4906:b0:648:3f93:68e0 with SMTP id 00721157ae682-658f0cc04e7mr1805307b3.6.1720664002467; Wed, 10 Jul 2024 19:13:22 -0700 (PDT) Date: Wed, 10 Jul 2024 20:13:12 -0600 Mime-Version: 1.0 X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog Message-ID: <20240711021317.596178-1-yuzhao@google.com> Subject: [PATCH mm-unstable v1 0/5] mm/swap: remove boilerplate From: Yu Zhao To: Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yu Zhao X-Stat-Signature: xjpwhp3eajdjytrq4hbiksypn3sm9b6u X-Rspamd-Queue-Id: 7C5EF1C0003 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1720664003-710839 X-HE-Meta: U2FsdGVkX19L32a/wC0PiK20qIxeROGXq1V1AYDioI+9fg5nuCBvzmoMQK4wON7fSloa/7z5I07y0KZP6+wYB/OXMsqs4tCvxoknrj/lcKnVgSGxpjuyPCFVo87Xttm76h4FCgHwvUiTQB3XC8y5q1kWnuTF/z4XRMYQcUrtAR2+pH6ZbjspMNAg6E5zid7MZafvvEQmbv0gmJ0AwDCX+5+LBCcAHAEML9DQrpWZG+3r485JqJ3qc1+lH0tCL8IbW1MemWzQoigw+cRAF40nvFVm6PAin4iaSmZBwv6zfNmLP7y0GK2bzL1cfLNcbym8G+fXZ0bZSo0cKd1SF4PbmfCD4EjCys16sOBOK72h6nuBX7iFWdlxHMlXjpYL4ysljf99uvRABM+FVquc6dTP3wdiBKbbjif/v2ItDKXu+190rmV70Wg8+U68lwDfE4wm/oJ9apWnBONu1pByy2GvKA9AaNqU3N7Yr+x8T1IJkwR4686odLM6sFSSyfSlB5K2wWb+O+Cay03YG5j0v7ypBqC+oV5XftXNSYZAY6e9harBOggbd2tZabfN/tpKoSltbu4uMC4Uy8v6kUICaRK38rkRqmnNvehg1FFY0tIdql+z66+tsRQ+mtoTTMOcNyfprrEY4xCM6Gj6R8Abos7u9XS+4rSTbmepxHfe33zQsDwU7XaKmMsts1+0o9MBjyuKJ2qYyD8q5zZ+agT1lysYSDLJzAjyJVj6UpT97RcN5skoQovQPUUd7CnCtiHpNjvwLsmAKLoCN8fBwkKZmvTK3J0CpNSKUrf8mLoGbNHpTTWCJwKj6gEIeL9Sx8ZJ6T5V180NZIy4yZJ09PR1i4jRUqj2QGQwO9pi/jTLmaLxXysI+CEFosKqMDImKZT7uiioiVNj0QNGQzjCYUevCvb69oA4eKtLnO3oJhpt9XTqek54Rz29NkhlANtrxAlN3LTdIBLMZU+lo8HbcoVM5Ap wj0/Pb7c NGPjlFbYpH7FN1HneSPgkosooP6i9Hck7bcCkp0BfHGsvdRH50m7ywtSQwDNIkcF5rkNFoyt2PAARGZ7/l+0GeMZ3G8hX5JtYi5RGGqEHoTzBt1PEkkSgIaXVBtnvxqw/zfyJDrzFi5iO0yi6RtvEEhX0mdzYMbJ6WzBk5M5grnbgbg5vh+/EmrZJeYBm9Q1qvpN/DjHGENi/NvB3z/Jq+aoNWzK15ACEYOWO8hMv8tmndM6li968QXFCU/xy9vp8vNVO77EQg+xBzbNduNoOxusGF8pIfB4VecE4UnP/ltA7OHbVNVLAAqzXIVrwaMCJPR8csfVDNfxNbaYJqae8/xw8a1TApskdrtGY176sdGU69kKghV6EMIXuWTbmOpxWSXEHTO0QEH3fIxM4j2D5tWiycwTKQBXDPXe2A1NwNIDBOlM2YIG+zP+n0yeshQHamOt9gfgzh25zVb//q1ldv2zhMCboTHtAZRNttDsu9/awSkM09rk3HhRG/ha9aTrdE2NdwOkLhx5PgTjcJgZjAW9p4g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.011929, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Use folio_activate() as an example: Before this series ------------------ if (!folio_test_active(folio) && !folio_test_unevictable(folio)) { struct folio_batch *fbatch; folio_get(folio); if (!folio_test_clear_lru(folio)) { folio_put(folio); return; } local_lock(&cpu_fbatches.lock); fbatch = this_cpu_ptr(&cpu_fbatches.activate); folio_batch_add_and_move(fbatch, folio, folio_activate_fn); local_unlock(&cpu_fbatches.lock); } } After this series ----------------- void folio_activate(struct folio *folio) { if (folio_test_active(folio) || folio_test_unevictable(folio)) return; folio_batch_add_and_move(folio, lru_activate, true); } And this is applied to all 6 folio_batch handlers in mm/swap.c. bloat-o-meter ------------- add/remove: 12/13 grow/shrink: 3/2 up/down: 4653/-4721 (-68) ... Total: Before=28083019, After=28082951, chg -0.00% Yu Zhao (5): mm/swap: reduce indentation level mm/swap: rename cpu_fbatches->activate mm/swap: fold lru_rotate into cpu_fbatches mm/swap: remove remaining _fn suffix mm/swap: remove boilerplate mm/swap.c | 296 ++++++++++++++++++++++++------------------------------ 1 file changed, 134 insertions(+), 162 deletions(-)