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 2A137C001DE for ; Thu, 10 Aug 2023 23:33:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B35D46B0072; Thu, 10 Aug 2023 19:33:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AE60A6B0074; Thu, 10 Aug 2023 19:33:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 96A866B0078; Thu, 10 Aug 2023 19:33:00 -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 829326B0072 for ; Thu, 10 Aug 2023 19:33:00 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 514F1C0360 for ; Thu, 10 Aug 2023 23:33:00 +0000 (UTC) X-FDA: 81109797720.01.A6769F8 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by imf06.hostedemail.com (Postfix) with ESMTP id 803CB180015 for ; Thu, 10 Aug 2023 23:32:58 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=J1gGVvQU; spf=pass (imf06.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=yosryahmed@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=1691710378; 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=5baYHlZ9G5uI95pRDPHfp+N5Jx3ZHWHwVES8s8OdK+g=; b=LT4KIP76mAUOiAoFVk8ce3s5DoOqrKdCu+BvmThjEQCs7D4BUCatcf801XEn4Cem9VoZg0 Xldz7dKpbfJS2xlRCEM3ij0ZyjqMt2Ce3g7DxO0UT98m5Ksirq26onA2iY4O3ealElfFlc csQFXr3sornXNBCHkZ2G+zmYLXcEM0c= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691710378; a=rsa-sha256; cv=none; b=UV2P7ZxIcZTocv8RvXn6A/KFLtzSaVzQiNULYiofKSMUUHMe+1qtnAIFQoZPaM+hP2M6ba adhsbn+dH5VwafS/kcUSMBqimYuDFQMrGWAEiI5ZleK6sqzMXAZEywqQ7FT8bhaOL3m8Gf mKea2z6yLBuhw9nUPzxGXjhJBbAVBlU= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=J1gGVvQU; spf=pass (imf06.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-99cce6f7de2so203368266b.3 for ; Thu, 10 Aug 2023 16:32:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1691710377; x=1692315177; 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=5baYHlZ9G5uI95pRDPHfp+N5Jx3ZHWHwVES8s8OdK+g=; b=J1gGVvQUu57cNUd6MpCeAqEnft5a3l3EWu0FNY8aP1bWi3ZwAPkMMJs33AkktlXmta 1kUm7NQBjfKqHzpgnjoH5NQb/bQjv0zsS9vfL8kt/W5E5dT4CVDhclUMs1w1nlHWF35I 5htxESHyuVz49R2L6s4m8ydNNFm01XzwmL1SdhZ9uJHN5X5ql3APdNV/Ukaapi7FU2ti pvnMhjE9evg9ks3ZGcPbmNek7u+9qMJ4pwy7SIZ0IMzx2WGBf7hR+IA2BtZ12zU3oUez vFliFE5mb6dm+Yg/XvcpwaDpvA78zM7E6qnJG1AiwKH2rOcQPIucudbqNC59nk5+AiTN 5HUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691710377; x=1692315177; 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=5baYHlZ9G5uI95pRDPHfp+N5Jx3ZHWHwVES8s8OdK+g=; b=GpnLRfhIiAzHxVd7jeFL+qpfsb24hClikm+asNNROgGOmsnKFlQboIoggjtFlyDPqw dd3gpJjNoQAg+UJh2YlQPFJPfOfoQFqE/zcAJkfQt0zIZGSVlAWeaF3EDXxCbOAzCNLR BNmTccJUDEJcEEpjVVM7cISKizxzLiW0K8B8dF/wZawL4+ky3K/9Lz/X4Aub4BDqYuz6 dt4tRhf6D8Q2zZ7YNFOA/phgnhj6WbgQZ0c8OSfz1ITVtue66JdNqGD+Ct9Oc/aaD/la 9W3t7IWZEIFMEUysX7CM7nFa4mnXJxLi1NbV3/NDsIOJRa3NliP6LrWtJzTn90K7KzU3 fNow== X-Gm-Message-State: AOJu0YwiaSAUGW3qkcDthL7E7cOB7TBPPSirem0MC2PY+05GrTrRniJG 1Xk/ehZjneTecp+AA2GYunqF+Cv72JMi6bHZhnSGXQ== X-Google-Smtp-Source: AGHT+IHjmqqcMLWpu0WJC52djU0rBOU1pXvwxOutRA8dTl/dVA1sRDsW1ls6o2Sj0jrAprEQ3X2km+16kqvqfdAKeu8= X-Received: by 2002:a17:906:538d:b0:96f:d780:5734 with SMTP id g13-20020a170906538d00b0096fd7805734mr250482ejo.65.1691710376746; Thu, 10 Aug 2023 16:32:56 -0700 (PDT) MIME-Version: 1.0 References: <20230810095652.3905184-1-fengwei.yin@intel.com> <26949c92-95a0-414f-918a-8b8cc11e3e9c@intel.com> <3732dd16-148d-4ac6-8295-86a12f89365b@intel.com> In-Reply-To: <3732dd16-148d-4ac6-8295-86a12f89365b@intel.com> From: Yosry Ahmed Date: Thu, 10 Aug 2023 16:32:20 -0700 Message-ID: Subject: Re: [PATCH] zswap: don't warn if none swapcache folio is passed to zswap_load To: "Yin, Fengwei" Cc: Yu Zhao , linux-kernel@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, willy@infradead.org, hannes@cmpxchg.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: xs6e4oo4im9dkgom7q9jykeri3rkac1r X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 803CB180015 X-Rspam-User: X-HE-Tag: 1691710378-306684 X-HE-Meta: U2FsdGVkX1+hQFInA/hZ0/VOJkQCQwazRWEcRyPY7a633BxsaimB+NUTqM8HIYNVms6f4sVN8jpVdEpQ9/hcMJJV2n2agq/EG3FgyfVd63plSednb3J9dmPNKkkgxIL7HpST/Evs0271/FrEUzd7unxgw+BXRWyWLImp4DQgCR2OgSGhJrbzPsx0mfy0iLTjtbBi+PhmMhDIhso9psU7TtxX7EHLYsza2+XGEzdg8/wSCePC9EPKK2wTyo/lCFqwWtp5vY3Yv6Cb61F8d2S7ms8TGzVK8Q7L9Mp6oicGJR/Fg5JSNKtSQ4b8fzp4f2Y/Fb9ogkWom7Cj+OBPwC3IBrEoJQmKXNYOrOrEVOl2fo2uTH2PLYoCcfokciHDcESRzXj9RJ2WFhVCN9Nq1eWNeDbaMhwxCzuko/Em3sjPsvORyy8dcXpYG1yebOyxXlNj5XT3VGXnP9zWEOOO27zXoctHc/Q7Pp3Z5DPt1BPJFIiBp9mp/vR+QR9fHx3KocQhJDdoNK4j5jvTPS7ew9rJm23+tGExrE0BjpHxxYtIygRmAPievtK80ylZQLwYOW32U3QwtfFkJmTikCDNZCB3DX1zwcSDSvXQsDvwjobLz5X0xoTTWiP0aCrrOwozkbqiUTTcl+IonRwoXDGGKRXRT8eS3tM7+hj5WlwY0jOPxnPDxf2yI5u32ZLBSFiCqeptTY7uj9Cj04QvnrYZUYzEzfv57F1PzhRfwwb5xybZcFJO2L08uVKiFT09b0RXsHPjVx1vjNscvokJD4NDlYpLe01BXUmPdghUeSQDjQqRQeFJarY0Ei7J2nms5AvgDAqJcqDuOezPvNNGt8XuiStrR23KaT6n9u/d+q8lscPKvI9jjZbdaQFrzqDJ+r3j91EbvfvmnA3iFihFu6ES8MaCWQHUwSiU0/nVbPK8+kANDSW9/YxvuY9TcP+9EayC4yoO//d6bgsmZuZa8LfHAIQ w5DMFxST rZ2ZFhsjlMoT3zIdgRXSyhTMiLbPNVUlYMjIRPGTpsUOkup19zzU0br98JbqM4wUupHtVuPIdzWAA1NpugQcrUhx0p30Y70keWWB3Gbj2L1HnxBnJUgqZYoh+NosYRdUArv9B5OtMth4FULwJZ9f8BDbEUwzk/aSbgwv7F1NqRWGxY+0ZJ5rp75mKE6yGQDKxC9JmShaQQVYJk3vRczQf6R+lJZ52rjYEbyZ+HVJnWEpXQxPtHUEwOtDu1JhvOifLjoBYzSDJcKAm3eogNErIPFDZNZEu07heAA71THblZVSP9MZi/7WnKT9f5ij0YOgBCFq7xCTV7Z9+4Us= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Aug 10, 2023 at 4:31=E2=80=AFPM Yin, Fengwei wrote: > > > > On 8/11/2023 7:15 AM, Yosry Ahmed wrote: > > On Thu, Aug 10, 2023 at 4:09=E2=80=AFPM Yin, Fengwei wrote: > >> > >> > >> > >> On 8/11/2023 2:44 AM, Yu Zhao wrote: > >>> On Thu, Aug 10, 2023 at 3:58=E2=80=AFAM Yin Fengwei wrote: > >>>> > >>>> With mm-unstable branch, if trigger swap activity and it's possible > >>>> see following warning: > >>>> [ 178.093511][ T651] WARNING: CPU: 2 PID: 651 at mm/zswap.c:1387 z= swap_load+0x67/0x570 > >>>> [ 178.095155][ T651] Modules linked in: > >>>> [ 178.096103][ T651] CPU: 2 PID: 651 Comm: gmain Not tainted 6.5.0= -rc4-00492-gad3232df3e41 #148 > >>>> [ 178.098372][ T651] Hardware name: QEMU Standard PC (i440FX + PII= X,1996), BIOS 1.14.0-2 04/01/2014 > >>>> [ 178.101114][ T651] RIP: 0010:zswap_load+0x67/0x570 > >>>> [ 178.102359][ T651] Code: a0 78 4b 85 e8 ea db ff ff 48 8b 00 a8 = 01 0f 84 84 04 00 00 48 89 df e8 d7 db ff ff 48 8b 00 a9 00 00 08 00 0f 85 = c4 > >>>> [ 178.106376][ T651] RSP: 0018:ffffc900011b3760 EFLAGS: 00010246 > >>>> [ 178.107675][ T651] RAX: 0017ffffc0080001 RBX: ffffea0004a991c0 R= CX:ffffc900011b37dc > >>>> [ 178.109242][ T651] RDX: 0000000000000000 RSI: 0000000000000001 R= DI:ffffea0004a991c0 > >>>> [ 178.110916][ T651] RBP: ffffea0004a991c0 R08: 0000000000000243 R= 09:00000000c9a1aafc > >>>> [ 178.112377][ T651] R10: 00000000c9657db3 R11: 000000003c9657db R= 12:0000000000014b9c > >>>> [ 178.113698][ T651] R13: ffff88813501e710 R14: ffff88810d591000 R= 15:0000000000000000 > >>>> [ 178.115008][ T651] FS: 00007fb21a9ff700(0000) GS:ffff88813bc800= 00(0000) knlGS:0000000000000000 > >>>> [ 178.116423][ T651] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005= 0033 > >>>> [ 178.117421][ T651] CR2: 00005632cbfc81f6 CR3: 0000000131450002 C= R4:0000000000370ee0 > >>>> [ 178.118683][ T651] DR0: 0000000000000000 DR1: 0000000000000000 D= R2:0000000000000000 > >>>> [ 178.119894][ T651] DR3: 0000000000000000 DR6: 00000000fffe0ff0 D= R7:0000000000000400 > >>>> [ 178.121087][ T651] Call Trace: > >>>> [ 178.121654][ T651] > >>>> [ 178.122109][ T651] ? zswap_load+0x67/0x570 > >>>> [ 178.122658][ T651] ? __warn+0x81/0x170 > >>>> [ 178.123119][ T651] ? zswap_load+0x67/0x570 > >>>> [ 178.123608][ T651] ? report_bug+0x167/0x190 > >>>> [ 178.124150][ T651] ? handle_bug+0x3c/0x70 > >>>> [ 178.124615][ T651] ? exc_invalid_op+0x13/0x60 > >>>> [ 178.125192][ T651] ? asm_exc_invalid_op+0x16/0x20 > >>>> [ 178.125753][ T651] ? zswap_load+0x67/0x570 > >>>> [ 178.126231][ T651] ? lock_acquire+0xbb/0x290 > >>>> [ 178.126745][ T651] ? folio_add_lru+0x40/0x1c0 > >>>> [ 178.127261][ T651] ? find_held_lock+0x2b/0x80 > >>>> [ 178.127776][ T651] swap_readpage+0xc7/0x5c0 > >>>> [ 178.128273][ T651] do_swap_page+0x86d/0xf50 > >>>> [ 178.128770][ T651] ? __pte_offset_map+0x3e/0x290 > >>>> [ 178.129321][ T651] ? __pte_offset_map+0x1c4/0x290 > >>>> [ 178.129883][ T651] __handle_mm_fault+0x6ad/0xca0 > >>>> [ 178.130419][ T651] handle_mm_fault+0x18b/0x410 > >>>> [ 178.130992][ T651] do_user_addr_fault+0x1f1/0x820 > >>>> [ 178.132076][ T651] exc_page_fault+0x63/0x1a0 > >>>> [ 178.132599][ T651] asm_exc_page_fault+0x22/0x30 > >>>> > >>>> It's possible that swap_readpage() is called with none swapcache fol= io > >>>> in do_swap_page() and trigger this warning. So we shouldn't assume > >>>> zswap_load() always takes swapcache folio. > >>> > >>> Did you use a bdev with QUEUE_FLAG_SYNCHRONOUS? Otherwise it sounds > >>> like a bug to me. > >> I hit this warning with zram which has QUEUE_FLAG_SYNCHRONOUS set. Tha= nks. > > > > Does it make sense to keep the warning and instead change it to check > > SWP_SYNCHRONOUS_IO as well? Something like: > > > > VM_WARN_ON_ONCE(!folio_test_swapcache(folio) && > > !swap_type_to_swap_info(type)->flags && SWP_SYNCHRONOUS_IO); > > > > Of course this is too ugly, so perhaps we want a helper to check if a > > swapfile is synchronous. > My understanding was that the WARN here is zswap_load() doesn't expect > a folio not in swapcache. With zram, swap_readpage() must accept the > folio not in swapcache. So this warn should not be there. > > But your comment make more sense to me. I will update the patch not > to remove this WARN. Thanks. Thanks. What I have in mind is that usually zram & zswap are not used together (which is probably why no one reported this warning before), so in the common case this warning is valuable. > > Regards > Yin, Fengwei > > > > >> > >> > >> Regards > >> Yin, Fengwei > >> > >> > >