From nobody Fri Feb 13 16:37:34 2026 Received: from mail-yw1-f201.google.com (mail-yw1-f201.google.com [209.85.128.201]) (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 A805A22F03 for ; Fri, 24 May 2024 03:38:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716521906; cv=none; b=NWUrwpEaTVELcvFpPeGxeH6RnuCQHkqgrm8pWqHsvw0VCVehxTmGfqPQNoImZt+BuGIQTEEjDAHkNZrjQ9aehO+XAxMsF8SCtGbg9fnh1OrOOuglc2y+yfIf73N/xyl4Fohhz4HTvr1MaCpM2BEG7T30R2xdUa6o+Uz6322VRJo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716521906; c=relaxed/simple; bh=InztbE00Vv+/ObCTrqBtTMOXTzCouHOEQrB7Tjyf1mg=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=Ik3KmpEq+dy3r8iwgH6C2CQchoJTZGnbUh2X1O8Bi02K8r6g2kqXb/uVUGF8QaOgcW2soKrLJJ40H0E6Kg7aRooZoNyuSQ8nA0uCssQqmCLY/8pueGCqRojYIn4Gpep5/Wss4+qkiR2N3SxM6x1v3/Y8cLGYav7n8zLRuCMeL5I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--yosryahmed.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=AiCbFcol; arc=none smtp.client-ip=209.85.128.201 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=flex--yosryahmed.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="AiCbFcol" Received: by mail-yw1-f201.google.com with SMTP id 00721157ae682-62834d556feso30796297b3.3 for ; Thu, 23 May 2024 20:38:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1716521903; x=1717126703; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=BKVO8Lg92AmjXALe4s9SIU0KV7xHA1puZ574BkfEyc8=; b=AiCbFcologSFa37RTq6fFxbTkFnJ4006aSX13hnkrb+SjMNF2fKGTj2gYJMMY3/KYp WfmMGgG7gK2iHmFgkj2IQadx/kzcWnzAimFX8QwPbl9YljFpepxA2WEt4YferH4IFUiy RKGjT+T45fTJV7UhIOvLiuNXwz279E9wSXhullZbsSeNDOxe1JSIYg3PcAOVRV0Ip9Tm yIOUqEXjj6ttXRgzXu3s+8vLyDxTfx6OEMwHXbQAjXT/i7ZXRvtHGbyphmBYtdKgJHOI wJLUaXNJqQmvKChVMZgHMEzBISaipDHz45QKK3Gk08Bx1I6xqXVT0jYN0GQef4KS9bVH fbAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716521903; x=1717126703; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BKVO8Lg92AmjXALe4s9SIU0KV7xHA1puZ574BkfEyc8=; b=fSR7Vn6w3QEKLbXO9Wlkttkmx6+Yr32mtpGI3q0c817hoWjaftt2vNlbMbc9clsz9A 1YOpmAKga5/qI6DywrobiNnJUj+07MS/cWHJC8mHipJbJ/JW7fTYrnWeQddER0oa9LG9 KkA1IQT0vFiWJoJepUxgCazxN27dNSYP/t/0C8XWBVbodGwjPRRixnMrDONLMp8qi013 fNMKNA5r72SxxH/2kjWR4PytGS1wEhmsRPPueGtEk4hPKktiCJOfMbUEJXAG7NGI3lJk 4/c1yB4t8/J2zIVeY5AUEl6YsJPoeCGtlJ9GrEJIyRI2wcpozc0J6RZ/0RYl9K2WCV36 DRxg== X-Forwarded-Encrypted: i=1; AJvYcCXbeoB22GnycmXwL3xBgxu/HVjVMI+99p/uRYa9ktnnJxMy9D5hj20rH/DX+ORK86m+tG0RWsymxashwEq7+azkIr0HQ1dKvxVT5uAt X-Gm-Message-State: AOJu0Yy/oxTZ9uN0tWcQ8atUVzF1+1gIyQGvdreDSiELfYKRbk2ucg4p lxrDP2aNnwaKVGcR1hx+bV6GJoux/NjZZal/75IIvtVC6h3Ty7thiyFpMiiszQ8op8lVeZ3iIxN 1L5X61FhvKzh02i8TTw== X-Google-Smtp-Source: AGHT+IHhQTjQkcadv7LLw0o2LYVFVoSUew57m4WVVk3eNvQWrYHyn6s4HbwcRHjmBZKSrfn/K2ulbWyVZYjxfkro X-Received: from yosry.c.googlers.com ([fda3:e722:ac3:cc00:20:ed76:c0a8:29b4]) (user=yosryahmed job=sendgmr) by 2002:a05:690c:281:b0:627:e226:8ce3 with SMTP id 00721157ae682-62a08f828cbmr2774657b3.8.1716521903699; Thu, 23 May 2024 20:38:23 -0700 (PDT) Date: Fri, 24 May 2024 03:38:16 +0000 In-Reply-To: <20240524033819.1953587-1-yosryahmed@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20240524033819.1953587-1-yosryahmed@google.com> X-Mailer: git-send-email 2.45.1.288.g0e0cd299f1-goog Message-ID: <20240524033819.1953587-2-yosryahmed@google.com> Subject: [PATCH 1/3] mm: zswap: use sg_set_folio() in zswap_{compress/decompress}() From: Yosry Ahmed To: Andrew Morton Cc: Johannes Weiner , Nhat Pham , Chengming Zhou , Matthew Wilcox , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yosry Ahmed Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" sg_set_folio() is equivalent to sg_set_page() for order-0 folios, which are the only ones supported by zswap. Now zswap_decompress() can take in a folio directly. Signed-off-by: Yosry Ahmed Reviewed-by: Chengming Zhou Reviewed-by: Nhat Pham --- mm/zswap.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mm/zswap.c b/mm/zswap.c index a50e2986cd2fa..3693df96c81fe 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -917,7 +917,7 @@ static bool zswap_compress(struct folio *folio, struct = zswap_entry *entry) =20 dst =3D acomp_ctx->buffer; sg_init_table(&input, 1); - sg_set_page(&input, &folio->page, PAGE_SIZE, 0); + sg_set_folio(&input, folio, PAGE_SIZE, 0); =20 /* * We need PAGE_SIZE * 2 here since there maybe over-compression case, @@ -971,7 +971,7 @@ static bool zswap_compress(struct folio *folio, struct = zswap_entry *entry) return comp_ret =3D=3D 0 && alloc_ret =3D=3D 0; } =20 -static void zswap_decompress(struct zswap_entry *entry, struct page *page) +static void zswap_decompress(struct zswap_entry *entry, struct folio *foli= o) { struct zpool *zpool =3D zswap_find_zpool(entry); struct scatterlist input, output; @@ -1000,7 +1000,7 @@ static void zswap_decompress(struct zswap_entry *entr= y, struct page *page) =20 sg_init_one(&input, src, entry->length); sg_init_table(&output, 1); - sg_set_page(&output, page, PAGE_SIZE, 0); + sg_set_folio(&output, folio, PAGE_SIZE, 0); acomp_request_set_params(acomp_ctx->req, &input, &output, entry->length, = PAGE_SIZE); BUG_ON(crypto_wait_req(crypto_acomp_decompress(acomp_ctx->req), &acomp_ct= x->wait)); BUG_ON(acomp_ctx->req->dlen !=3D PAGE_SIZE); @@ -1073,7 +1073,7 @@ static int zswap_writeback_entry(struct zswap_entry *= entry, return -ENOMEM; } =20 - zswap_decompress(entry, &folio->page); + zswap_decompress(entry, folio); =20 count_vm_event(ZSWPWB); if (entry->objcg) @@ -1580,7 +1580,7 @@ bool zswap_load(struct folio *folio) return false; =20 if (entry->length) - zswap_decompress(entry, page); + zswap_decompress(entry, folio); else { dst =3D kmap_local_page(page); zswap_fill_page(dst, entry->value); --=20 2.45.1.288.g0e0cd299f1-goog From nobody Fri Feb 13 16:37:34 2026 Received: from mail-yw1-f201.google.com (mail-yw1-f201.google.com [209.85.128.201]) (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 3F97D381CC for ; Fri, 24 May 2024 03:38:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716521907; cv=none; b=bRWbb94Cm1q50iCXfUhXEp3lrX+Xu9K4C/sWRq0+5O5zq6sT8NaZ1R4HiK37WjzBaO0bL4VNj2GjNSNxgTyM18p8rjuM4S5LkL8OJxmLwZ12ZJbAtahqzI8nPqrhaYjZkEFTPRxzIgmtYE14SL24otMmwACwyna7n8x5n1Y8JBM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716521907; c=relaxed/simple; bh=GLHO6RNbu0GScfehY3tMB/FBcRZ0DPXV3eJrP/UTMO8=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=b2AtALA+h/8pajyoSN4m5Mc3ps6zkAjANz4vHLBmbDaR4VbABZYfThinFyVmH05pO2DMwxo2RxvxIo24dmub6LgeA2fSYwekIs01VZtPKFKKkyLefRlk+U2aIg2LJTAuR/c2Tr0mRUzr9Sk39CQswPnupobgfvVguxwqEDQEpYk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--yosryahmed.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=b9BAqkn5; arc=none smtp.client-ip=209.85.128.201 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=flex--yosryahmed.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="b9BAqkn5" Received: by mail-yw1-f201.google.com with SMTP id 00721157ae682-62a0825e365so8958577b3.1 for ; Thu, 23 May 2024 20:38:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1716521905; x=1717126705; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=UZUibxVL0p5mU+STizIl+rgA3qpvNVqFQOc0JP+qiMU=; b=b9BAqkn5o4yhTfBmHi99TOHY6ETZ5rELGghf7BO4hJ1nQU79O12tMkKqKQTJEKyNX0 44YibSFxlNsa3wETeIozzwOf9lyA3pJiNVTdo4XOx59Kb1z0L1WuAhdEKlGKn79UlJEZ tMrRol/DRdH0T6TScKO/0WZH+ANZd13SYlrPQl6AMnVy+5M4Wxkdiuu0Jw3jJkZG/P7F lZUkDCV7FS8PydsuI/yAH3V7CAlbrSO25o9cLw5XrcTzzq25iWCwlOTha4lP5J5GvQQa XRc3Sed09dhsUnPOr6QNnP/q6duVoiVcpOdra6319nYz2v0hf2dJq+pMRIBw2tYLWEb9 Bhiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716521905; x=1717126705; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=UZUibxVL0p5mU+STizIl+rgA3qpvNVqFQOc0JP+qiMU=; b=tjEHHug3SAd6NLylySr5kmjDW+uGuKJNufBwFQEuV0b6SNq/2oYrDFEuHclkJdR4Yl +28XVMWUJ90deIOkEh+l8FkqM4s7IIfWgEIEVz5mQ9B86tZcbvAJ0jfFOnkUGQG5TzpP fnPVS3fVcD2hRsUTbLg/owWskc/TVbc30ihLD32ZYlYs30fNRC0+m1QvTC8Sqm5qSmhb cN/JGafSd04Uwz5I5MO7cUu6z99S8GxFZ51lzRqiMOoYhvp9ZPZ4+hAJ+lVeIdPaRotV WeLBjJw3L+CLEKVkatUr7sGO2jLk9ge7f66JWpBBmQkXvfdvs4Ev495St8lt5HrbN3Wn m/cQ== X-Forwarded-Encrypted: i=1; AJvYcCV9jE0ZQ/2Tgac9HcaiNMkK6duIE/D/VlO5Y9HUean3VPsWNhqtJWu7uSBUo3DYfP/7h850WV+x67FnMLwA45WWufRRrVyLuo0eTGTM X-Gm-Message-State: AOJu0YxyEK9vePwhh5WUmiK0QmIBMNtihHhDV4OgcPgVjuB/ZR4MWfhz 44qC79RccV493sgAQPG/JXWcZFWPhzatY31I2dWZVJgn8wbrNd36P8ZWDCzNmxqp+OPL4dk1v3E X5sUWfb0LBW6zpJ302w== X-Google-Smtp-Source: AGHT+IGWEmQAlnhdEPzZ6uPO7aNv6DYve/yJL32x0ERZjFBY1Aa9d8TiVJtvgVdN3KsvGrSvISEQ8eqaozyd47PG X-Received: from yosry.c.googlers.com ([fda3:e722:ac3:cc00:20:ed76:c0a8:29b4]) (user=yosryahmed job=sendgmr) by 2002:a05:690c:368d:b0:61b:ebab:ce9b with SMTP id 00721157ae682-62a08e60886mr2541307b3.3.1716521905191; Thu, 23 May 2024 20:38:25 -0700 (PDT) Date: Fri, 24 May 2024 03:38:17 +0000 In-Reply-To: <20240524033819.1953587-1-yosryahmed@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20240524033819.1953587-1-yosryahmed@google.com> X-Mailer: git-send-email 2.45.1.288.g0e0cd299f1-goog Message-ID: <20240524033819.1953587-3-yosryahmed@google.com> Subject: [PATCH 2/3] mm :zswap: use kmap_local_folio() in zswap_load() From: Yosry Ahmed To: Andrew Morton Cc: Johannes Weiner , Nhat Pham , Chengming Zhou , Matthew Wilcox , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yosry Ahmed Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Eliminate the last explicit 'struct page' reference in mm/zswap.c. Signed-off-by: Yosry Ahmed Reviewed-by: Chengming Zhou Reviewed-by: Nhat Pham --- mm/zswap.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/zswap.c b/mm/zswap.c index 3693df96c81fe..bac66991fb14e 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -1551,7 +1551,6 @@ bool zswap_load(struct folio *folio) { swp_entry_t swp =3D folio->swap; pgoff_t offset =3D swp_offset(swp); - struct page *page =3D &folio->page; bool swapcache =3D folio_test_swapcache(folio); struct xarray *tree =3D swap_zswap_tree(swp); struct zswap_entry *entry; @@ -1582,7 +1581,7 @@ bool zswap_load(struct folio *folio) if (entry->length) zswap_decompress(entry, folio); else { - dst =3D kmap_local_page(page); + dst =3D kmap_local_folio(folio, 0); zswap_fill_page(dst, entry->value); kunmap_local(dst); } --=20 2.45.1.288.g0e0cd299f1-goog From nobody Fri Feb 13 16:37:34 2026 Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) (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 00427BA42 for ; Fri, 24 May 2024 03:38:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716521909; cv=none; b=lbzBKEeHfYqXr+ax3iFz6uOwYSvZMFfC+FM/cjNf+/tuDEDO3KdmA7pePcxgdhRrxC+dQdnIcQFfXHFyUAjfj4DLk96ZXqHmpW/USTEKe9kDnW+1RnCou/i7Hvr6IB1qOBV4kVAcsglY5vsg1t100jzRX+GP/LGT1x7OijcwQMQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716521909; c=relaxed/simple; bh=cAL6u5NSV/FtIQTkgLiXildPvmom+465OK2uCEULmo4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=aMsJxb6N0imvSho0/QFJnECp1tdzPmEp5BEyFI+GavVIvygBts+9ERmEIe/SaziQEv7hq8bfdus/vP3pNiZJ3lCocg7shRD2tHQdD5mUCq/sviNVFH3Si2cFKRkmGUTAoVrym8XsFInRRjz0ldu9KGwXxeD4SYleDZltIpvc0P8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--yosryahmed.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=qhOuXtqI; arc=none smtp.client-ip=209.85.219.202 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=flex--yosryahmed.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="qhOuXtqI" Received: by mail-yb1-f202.google.com with SMTP id 3f1490d57ef6-df777ba71e2so157356276.0 for ; Thu, 23 May 2024 20:38:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1716521907; x=1717126707; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=4rjLaqux6n3a7+R/7FlUB+W5AeNaAqDsKuPO95aKmjo=; b=qhOuXtqIkXv1Ey0OCLcje7kk97gRZn/yRyrI3GmUoq7mbOYhF6m3UjFPNwaL2Ipl0P 7OUJ1bNuWpMzwsV0MG6fLgcSmBeuTNM+BFtaKiqAkxK+48up+XOquQPyZFK0VJTbWn1Y xFTU7Z6yeMdIvx8iLMbLvnO3zJEJJmw2wV5rDh5DIlvVByNqCW00mDna2seYCFzzNyhH frmPMHqPrL0zjjOP99x9Fpy9qHE5nKqQ21fUhdtzhrTA1+IESpOdNQY24Y72CWNkJ0sr JEKL48E9OGdp84fNDJk5CCh/46jS8kJVa0g7Cy2TFflOMOZxl0F4Ts+tpETfi1KY5za/ WDrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716521907; x=1717126707; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4rjLaqux6n3a7+R/7FlUB+W5AeNaAqDsKuPO95aKmjo=; b=s7uEo81pHqLakpSDnHj7LG5VYrTbF5hPt3St2ZHdnK4jM+Stco39matzBAKo5+h4og eOY5Lug6LNbpkd+W6I9wOOkYCZ3/T/sBnQi5R8bpj4rhjiUhvVAvAuEHtc0qbqolPkWv J4ULdl79znbeQiUY/B9rdPRbtGWf2a9tVCxC+VfCWNxNcE5EvsdiOIz30+X+X1W/47WN BH9r/k7cTWOqvbd9hYCdjheGRoYzCbWOw4usjqBk0ACDbqNMsZOkm+W3BtnAtHqwb1/V jBgbdqAYoujhw6K20JtQ2rp8uDhPGRj+tkLWnqCmQrckUkUBfRQYxoxT7lZlpILHdp4D lPGg== X-Forwarded-Encrypted: i=1; AJvYcCWcxIwdLoeHhfSb4Ob+rDhuWAgG+Ck9mqGYG3jDdrChkt6Q6phKQUj0/pzLLBUews3B5C//ixxchZQ+5ztm9NVvwL7ka6Rl/lI/c9XK X-Gm-Message-State: AOJu0YxXo2F92GA2ImsvQ0TsPv1m9PaP0dWNrfl4E2a2hT6p96AfUJyZ tKRSI0sQstUgUXVjqjB8fNBTcYee0vA8G9ozVEXNofj6GJIGPa0I+PHLk/uA+t4H5wFl8F7Heh8 tFo2rnpPiAgx1ntqpuQ== X-Google-Smtp-Source: AGHT+IFjyBiedP4yQeSnv9T+OmD26CtUHgQCt5FkCWaEvXFDvir0hBHjpfuYbfRsKpcdcsuSG+tax+f1009tpb2V X-Received: from yosry.c.googlers.com ([fda3:e722:ac3:cc00:20:ed76:c0a8:29b4]) (user=yosryahmed job=sendgmr) by 2002:a05:6902:2b03:b0:de4:5ce2:7d2 with SMTP id 3f1490d57ef6-df7721dc43cmr300341276.4.1716521907001; Thu, 23 May 2024 20:38:27 -0700 (PDT) Date: Fri, 24 May 2024 03:38:18 +0000 In-Reply-To: <20240524033819.1953587-1-yosryahmed@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20240524033819.1953587-1-yosryahmed@google.com> X-Mailer: git-send-email 2.45.1.288.g0e0cd299f1-goog Message-ID: <20240524033819.1953587-4-yosryahmed@google.com> Subject: [PATCH 3/3] mm: zswap: make same_filled functions folio-friendly From: Yosry Ahmed To: Andrew Morton Cc: Johannes Weiner , Nhat Pham , Chengming Zhou , Matthew Wilcox , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yosry Ahmed Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" A variable name 'page' is used in zswap_is_folio_same_filled() and zswap_fill_page() to point at the kmapped data in a folio. Use 'data' instead to avoid confusion and stop it from showing up when searching for 'page' references in mm/zswap.c. While we are at it, move the kmap/kunmap calls into zswap_fill_page(), make it take in a folio, and rename it to zswap_fill_folio(). Signed-off-by: Yosry Ahmed Reviewed-by: Chengming Zhou Reviewed-by: Nhat Pham --- mm/zswap.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/mm/zswap.c b/mm/zswap.c index bac66991fb14e..b9b35ef86d9be 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -1375,35 +1375,35 @@ static void shrink_worker(struct work_struct *w) **********************************/ static bool zswap_is_folio_same_filled(struct folio *folio, unsigned long = *value) { - unsigned long *page; + unsigned long *data; unsigned long val; - unsigned int pos, last_pos =3D PAGE_SIZE / sizeof(*page) - 1; + unsigned int pos, last_pos =3D PAGE_SIZE / sizeof(*data) - 1; bool ret =3D false; =20 - page =3D kmap_local_folio(folio, 0); - val =3D page[0]; + data =3D kmap_local_folio(folio, 0); + val =3D data[0]; =20 - if (val !=3D page[last_pos]) + if (val !=3D data[last_pos]) goto out; =20 for (pos =3D 1; pos < last_pos; pos++) { - if (val !=3D page[pos]) + if (val !=3D data[pos]) goto out; } =20 *value =3D val; ret =3D true; out: - kunmap_local(page); + kunmap_local(data); return ret; } =20 -static void zswap_fill_page(void *ptr, unsigned long value) +static void zswap_fill_folio(struct folio *folio, unsigned long value) { - unsigned long *page; + unsigned long *data =3D kmap_local_folio(folio, 0); =20 - page =3D (unsigned long *)ptr; - memset_l(page, value, PAGE_SIZE / sizeof(unsigned long)); + memset_l(data, value, PAGE_SIZE / sizeof(unsigned long)); + kunmap_local(data); } =20 /********************************* @@ -1554,7 +1554,6 @@ bool zswap_load(struct folio *folio) bool swapcache =3D folio_test_swapcache(folio); struct xarray *tree =3D swap_zswap_tree(swp); struct zswap_entry *entry; - u8 *dst; =20 VM_WARN_ON_ONCE(!folio_test_locked(folio)); =20 @@ -1580,11 +1579,8 @@ bool zswap_load(struct folio *folio) =20 if (entry->length) zswap_decompress(entry, folio); - else { - dst =3D kmap_local_folio(folio, 0); - zswap_fill_page(dst, entry->value); - kunmap_local(dst); - } + else + zswap_fill_folio(folio, entry->value); =20 count_vm_event(ZSWPIN); if (entry->objcg) --=20 2.45.1.288.g0e0cd299f1-goog