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 C9728C001DE for ; Thu, 10 Aug 2023 23:44:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 411356B0078; Thu, 10 Aug 2023 19:44:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 39A716B007B; Thu, 10 Aug 2023 19:44:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2143A6B007D; Thu, 10 Aug 2023 19:44:24 -0400 (EDT) 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 10D256B0078 for ; Thu, 10 Aug 2023 19:44:24 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D26A8120117 for ; Thu, 10 Aug 2023 23:44:23 +0000 (UTC) X-FDA: 81109826406.15.87D01C2 Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) by imf29.hostedemail.com (Postfix) with ESMTP id 17CA0120010 for ; Thu, 10 Aug 2023 23:44:20 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=nVdPYB8Y; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf29.hostedemail.com: domain of yuzhao@google.com designates 209.85.160.182 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691711061; 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=wPlKBphVV5tb58K1Qi9r0Wuea3s9ypkhrEoboIMrKQ8=; b=mlnDZfiRKrkDdoc7+sxGTOcjnBZnW7rwTHpVI1TSqp2mP3Ypn3FdqHR6masAhu05OksEGT RfImYSEAwgoWrUiJCXsQFNZ+Ioo3sozr1DCJmFTnqhEPRIiouHsaku04B1Oz/O/ZN1ng3z 4gaiTwwd4aOp9XY4IxROvgqBDn38fGM= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=nVdPYB8Y; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf29.hostedemail.com: domain of yuzhao@google.com designates 209.85.160.182 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691711061; a=rsa-sha256; cv=none; b=KvBKjCeYH7TIdEb5PMQTJ/s8tdypL1312Yoqan7NIKSaWB0x4ugcovfgjPidoAJqlFmbqw Nh1e68v9yXytqG7Nt+psUHU8GJkuvuFTCwxDLtvP7Ko+kzkEElkhzopv1Ec7sEIaQ74J/Z ASDPPTg18Ve7gMmj/uwTIiab1KLgN1c= Received: by mail-qt1-f182.google.com with SMTP id d75a77b69052e-4036bd4fff1so72611cf.0 for ; Thu, 10 Aug 2023 16:44:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1691711060; x=1692315860; 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=wPlKBphVV5tb58K1Qi9r0Wuea3s9ypkhrEoboIMrKQ8=; b=nVdPYB8YtkXn5X6XA53a666u82UmCm3VDt9CkMJOXrYrJkj2S8xhCDW7FIVh2xbehj U5gw3w3QY1dxOpvk3FAZrE8GhMjhDm69nMXCTf7AyCjR9hCcv6Wtal/OBSLHN3hUk5Sh BK1R28x4+0NeXe7IkpruIWLNROx9K/C0SIWFlUxJQQXKsqYCcgdEkdG+VGwqKVwXNen2 ah3hzsp/kK/JZHO3tOjhlCTLA6OiObihW//H39gqqZDYA7HzSUnAlxtn6+3v72omyFVo xN98SYXZUEAeJe/AZ4GPufX5kKAR6y3xt9PXsddsiPBh0O9vbQkOrUnIZ4zepHXKFp38 v8Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691711060; x=1692315860; 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=wPlKBphVV5tb58K1Qi9r0Wuea3s9ypkhrEoboIMrKQ8=; b=C28DCNLgFPE2GCUEteSB/08pcdkJfIEBmsM8+XsIk5t4ZzWNzqpqmGMvlKfPX1So2d XnJf06MUp/tS14ZhJi7zh6O5y/HV/TFr9/esgzCXudz3Yy5F6HXKSlQCicw5BaQFTQ07 3mxzCRVx19r3JJ3oGrdmwv0IuqLs002fSoQJ5/0PClYcIxYLwmrYN8noZ/2aNxn+ef75 NeeFXqacgAjV367mEl5L5Ot/9enbN3ucFr2207GFK5w7etPxCgECP/HDAyh2nUF5SvEN qSqRtF4LMHDTmjyZDN/D3Ib15VrIV9NPr5dVeoK+zJIC+KXyOCsAXhQUk6sDnGRjAwuR fvkA== X-Gm-Message-State: AOJu0YxfTn/Q7I939yFt2zBWVfoBGNYnbFXYCEWJciQS6dkJ7zi23s66 /Lc7l50z1vgfUAV0gzLL7efmLlAKkX5BolIZtqn8/A== X-Google-Smtp-Source: AGHT+IGFRE49gvrVZ6cnKIJR+hil96FKJ6sCCNGCe+ppiGBkticwMal7iq7XWPfNsb/wivS/LMDSRh6Dh9qZNrVlhQU= X-Received: by 2002:ac8:4e48:0:b0:3f2:2c89:f1ef with SMTP id e8-20020ac84e48000000b003f22c89f1efmr73713qtw.5.1691711060062; Thu, 10 Aug 2023 16:44:20 -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: Yu Zhao Date: Thu, 10 Aug 2023 17:43:43 -0600 Message-ID: Subject: Re: [PATCH] zswap: don't warn if none swapcache folio is passed to zswap_load To: "Yin, Fengwei" Cc: Yosry Ahmed , 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-Rspamd-Queue-Id: 17CA0120010 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 5he1jppeawrtsgg69yi89zzo4bjwokry X-HE-Tag: 1691711060-579850 X-HE-Meta: U2FsdGVkX1/QkqqKqfh5jG7Dbt/gK8NDtJSxA84+6VcQvQswKLpxTBvJ9QHPkpqpMhoriJzXoj10Xb2k53UYtuRbSS/xdDQnsspB+cmCSL/2E3R34uwANbB2P/x1Cf2Z5nftvhgSEylCxzz5U9DW2b85GMBnFbL4FsGFjTleh3/CAdQ7BGNQz4vAmi4Z7F0h/IOkZP6xIDvGD0DzG/72CIRwzRNziMCh1B0Gz0h1FQM3YnnZpOyQ+l+mixjWrv7HIGAyiOc1AtgPtGt7QeFBWYamufCUBhu/g75OjF2r5MclQKXG+P7XcpuIa82rpWSC770qr4/X9Z6i0c8sgjsyl3CVj2ysytGzKgFiFSBlX/bAb4JlZwWpBWteyqF4YWoT5Idy70eb7PSAf5dNjb7ftIIIFm5xm7wN8Xk8MdHmpDS5Hg0gSGHz3pJuDlMIXLc3tPiR60++jhoDNxfbPJiKfv7nQ6XSyQxjyNw+c4IqvMm2jiIIYZtHaIwFIl0iinrAMrSUg3D15dLndhc75MpIErQ74zrsEZbFuNfrRMChbkUadChCpLsXFVhGsXk6Ud68/MQQFD0POOu72kRYQMNI4oa0knPplQbMF8ddLslGmJU1yxv0dGUgDDOeNg2UBN949hryMQmBw14LwvnvX+Bb9o2W/MT8aVjvVoVg7dXK54LolZdEoGvx6YRL2pkz8sRLgl6zOiEHtWxo8uHnkAhXbx24TQgmjVJ0s0XPBd6XrLfvtDRpSm3TTRhoH6bJaB0mvsNApn9SQzmlDX3sSXaR615sE98JK2dzVXaBHvLL2fwp2TASY9yEvWkL0Xs6L2bj+GywYRETK93g4EVjgeDes8XZuStghtQenVzGuc1vXPwFRQRFeK0Up8q5EAjutGbiRZvfrmFIXafKEKSmDWT9RmTUZDTANhFuWoDAZ2JwowPp2k7ENbivfqveRIWMkeSxrDI19yxJjgzDSULRdNi zyjbVW3x gxeJdsat+p4fVrYHxZfIwOTRm6q4agVkY0Y8PEiHMjrPlNEoha1bJLQG/ZBA5oHeU/QS2CzFy6sBlhSU/x2XBRhTR3u2yFxcOpYPs5eWTLDItU7hE1v5QfBES9KreghwxUBS3ur5PT+A4PJ01Y66Y9tgEtyHI2zi88Ok+SGSoerBOEP3a5zBXLsK6tmMDw3tyNW5yNYsbS3JVNWqR/ZWR01c/22Zp7MInuUvG1ldJGM+lTnytswHRxBs3z4wY6PGe7vMDyFeGyOV0DMPavcONBrfmUjdBM4bApUv46weFXjSnu0yRs4DeJ+xUaLZU5o/yF3LzC95AyazNKDQ= 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 5: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. That can cause another warning. Please don't overegineer.