Received: by 2002:ab2:6c55:0:b0:1fd:c486:4f03 with SMTP id v21csp334675lqp; Wed, 12 Jun 2024 03:02:55 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXlnLvGpV+GAHHjjJ+RrYxiR+4NoGCighd5Wq87GjUy26LYfJ0bGncXDg7bBybyjG5Cc6INpNgl5o49JzxwFiJqiZ7YRjoU5pjnslS8TQ== X-Google-Smtp-Source: AGHT+IHTPtp4JWdZ27okwbnnlIb8UgxZ8DLvOT+0KRwEeFW2SHMizo7tRpdRREJ4g/clbOgkQGDo X-Received: by 2002:a05:622a:246:b0:440:6345:257f with SMTP id d75a77b69052e-4415ac66d66mr10030831cf.60.1718186575078; Wed, 12 Jun 2024 03:02:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1718186575; cv=pass; d=google.com; s=arc-20160816; b=VYEF4XdRU2aVR5s0BSwc7l33WcpGT2EK1Cy4zHeazwQO9S4NxHFU5mGA9NO7mq+Wl+ chisI/6mcJqE0DsEJT7yUT6y6zNpF6zrLJO2LK4oqeO+SpzZikCORAyRgNbkK+uwsGRZ S1UeIDDvv5zDWZOs+6wYGzZVLB6JKsHO3NOmnVq/BcDaifvaDl84Jq4p2nQblAJjOWOb fYS2hj2YQCIDP92GiMMFxlXahZGfShdPXz27Y5xWfMwY5U7rTyipru/SXTM/TPlMFcz3 WA45BkwWmKpCIsBnhcgvg1BG1vIIC1gzku5QUIRKhurUiWiAXzO1ljrYHvLPgb27zEAY 4mBg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=AhgKyJlD2vWJb9JL/Gw5nFT1XfWpW1UuHSEQpsWI+uY=; fh=REE+EFRN+Zm0h8Aq9LchSrrRJkz8t6CJW+sitMc9Jbo=; b=kb0efuHm2AU0Yui2U4Re0cQ0TVVO4+uBLWjf1BJgYHTLh+jvI2qowsFsjefL7tvVtH fDjb6oG+x4T2U0N+ju2QF1GxPBHPTzZYcJ+IS+KU03VE6kwEfUF1g4EzowDy1GRJ0qVF k8sa3Qw4hdcGg3desHto8LpDSAw8rGu0TSJJFBvkgdFHIo/n4JSAiDXQvF5bPexgIILn mfn9OErBfQR4CoQ4yoseR6ydCQK7T4xasIbjpbK9BP/YRP2R+ELz1yQbTCK5suR72pEC mUEZQJov7lzXJMDkpkP+el+Q1zaQIgb1YbTldNRZoRDdW37QEtGC+LsuKyNjmwONpfuF GzYg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=XnDoTSHz; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-211319-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-211319-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id d75a77b69052e-44038a6fc1asi146971921cf.41.2024.06.12.03.02.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Jun 2024 03:02:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-211319-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=XnDoTSHz; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-211319-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-211319-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id C6AEC1C217CE for ; Wed, 12 Jun 2024 10:02:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D106B16EBF8; Wed, 12 Jun 2024 10:01:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XnDoTSHz" Received: from mail-yw1-f171.google.com (mail-yw1-f171.google.com [209.85.128.171]) (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 8D8C3A34 for ; Wed, 12 Jun 2024 10:01:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718186485; cv=none; b=J+HEvAyYdZV1KH4M9ZWFIicS2fX5x88vhi4iLKueuViPfw9HNxef8ZqrjQ6zMGk7O02cKxnc+jh+YsmgYWItclC/hKeeTBXKs2ITJ2c78gWzIjrvHibBAWcCk6WJUPOuG7ZmgM3eI8xH6Kff/SvaGIYcOXBP85CgWRMPjfiTt1I= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718186485; c=relaxed/simple; bh=eONlZ4ZZXucitjMnx29p/sFsI36wtPsuca6/lJlt/38=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=oqJEQhH79N7yjd3n4H4JrVyeX9sQZL4fBagmU+T3v8vTnJjfwqVhFERW2WW9UQ1Xx6gDkJVi9zNKcr9mroLZLyPU+iogAsrqvmOSh0MUHIIdkYGK+PNIGwDs/IskbgonexY3gKLNt4Vkrycb7RIvvStyKrtGSXGXTes6CEvvZzA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XnDoTSHz; arc=none smtp.client-ip=209.85.128.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-yw1-f171.google.com with SMTP id 00721157ae682-62a145e0bb2so75978977b3.0 for ; Wed, 12 Jun 2024 03:01:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718186482; x=1718791282; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=AhgKyJlD2vWJb9JL/Gw5nFT1XfWpW1UuHSEQpsWI+uY=; b=XnDoTSHzDOazf0Cr+V9I8mMKSOsvVBLPhgpYT6ViD/bhjLWFXRqhsEFJXgqlXT+epY r6gVp8CCwcXJ/rA66D6loL9PZiGXYPJVSzHmrogEmaDbyQhLAz3AvEjju/F0e9NHMmuS 9uzs6DMUBWL3MiHp6T83ICLvym+NWoV1E2hKQIt3jCBrG7theFlLPkkKRZcP3E+QnMJ/ 88u/hMIG0c5hFQipdqpxK9YZM6LnxH2KtPIGL/l+xcKp93mL26k5No41CYHvdls3GzYR oFh2qAzV2ZMwtnAcCM0n0PohP5lFPhJyCkjRtu5LsCqMq4Ob9ZEr072nnbhuIBc459IW pOaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718186482; x=1718791282; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=AhgKyJlD2vWJb9JL/Gw5nFT1XfWpW1UuHSEQpsWI+uY=; b=BVOhnFmqv9NfWnH4Rp8cBlz9y6RjY5T/OyXdmfWQqzyU7toqdyS9dqTb0bNGssUARX eJbjx33cBepHyKongapHtjf7VHTsJ6M3k5itar7ucqPKcBXe6wM7MM64HXSvhfsOgIod HfG1PF6q0ADeQk+WTd7HEKgANuuRMskN3ryaA+sKkYuyXT9LMyB2GnWH4lKPi/ZeI1b0 QvAHMyOhzaj35+ZQMx8H4YmODIfN0i8JDzIXydr9pDVCR+ookH7rBZVDVjZNvh+iAgcj 0q46BAQVZODN+TkXGlFHcpy/jfPaXrNsAYfTx9n4pg5y3rdEZp9yF1f3a7bdua/jRvgD Ta1A== X-Forwarded-Encrypted: i=1; AJvYcCUxGcG8uyVT8KQ/KE26D4BVhELWLGJeC6XZlNJ/boG7syf1eVMOTqNu2rZXDCFqx+CZXLoZj+nPjbxwYpU4gWEKt9bUYl0gsXqwPOHs X-Gm-Message-State: AOJu0YxOFTTXrD3ERIrQaYhjtBghJM9cxkgyBNJ9eaMWFXSrFTgC+sPp f0IssYKl6KtQ2yNKRReygUstVhXtDPnB5iwg5GQTXfrtzPkUcJjOWIhsy3z1KWI= X-Received: by 2002:a0d:c285:0:b0:62f:4149:760f with SMTP id 00721157ae682-62fbd79c03bmr11770277b3.33.1718186482133; Wed, 12 Jun 2024 03:01:22 -0700 (PDT) Received: from localhost (fwdproxy-ash-005.fbsv.net. [2a03:2880:20ff:5::face:b00c]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6b06ae2266bsm45026816d6.3.2024.06.12.03.01.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Jun 2024 03:01:21 -0700 (PDT) From: Usama Arif To: akpm@linux-foundation.org Cc: shakeel.butt@linux.dev, willy@infradead.org, hannes@cmpxchg.org, yosryahmed@google.com, nphamcs@gmail.com, chengming.zhou@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@meta.com, Usama Arif Subject: [PATCH] mm: Do not start/end writeback for pages stored in zswap Date: Wed, 12 Jun 2024 11:01:09 +0100 Message-ID: <20240612100109.1616626-1-usamaarif642@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Most of the work done in folio_start_writeback is reversed in folio_end_writeback. For e.g. NR_WRITEBACK and NR_ZONE_WRITE_PENDING are incremented in start_writeback and decremented in end_writeback. Calling end_writeback immediately after start_writeback (separated by folio_unlock) cancels the affect of most of the work done in start hence can be removed. There is some extra work done in folio_end_writeback, however it is incorrect/not applicable to zswap: - folio_end_writeback incorrectly increments NR_WRITTEN counter, eventhough the pages aren't written to disk, hence this change corrects this behaviour. - folio_end_writeback calls folio_rotate_reclaimable, but that only makes sense for async writeback pages, while for zswap pages are synchronously reclaimed. Suggested-by: Matthew Wilcox (Oracle) Acked-by: Johannes Weiner Reviewed-by: Chengming Zhou Reviewed-by: Shakeel Butt Acked-by: Yosry Ahmed Signed-off-by: Usama Arif --- mm/page_io.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/mm/page_io.c b/mm/page_io.c index a360857cf75d..501784d79977 100644 --- a/mm/page_io.c +++ b/mm/page_io.c @@ -196,9 +196,7 @@ int swap_writepage(struct page *page, struct writeback_control *wbc) return ret; } if (zswap_store(folio)) { - folio_start_writeback(folio); folio_unlock(folio); - folio_end_writeback(folio); return 0; } if (!mem_cgroup_zswap_writeback_enabled(folio_memcg(folio))) { -- 2.43.0