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 D97FEC77B6D for ; Thu, 30 Mar 2023 22:30:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 738C76B0075; Thu, 30 Mar 2023 18:30:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6C0EE6B0078; Thu, 30 Mar 2023 18:30:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 53AC26B007D; Thu, 30 Mar 2023 18:30:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 40D256B0075 for ; Thu, 30 Mar 2023 18:30:02 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 1196F140215 for ; Thu, 30 Mar 2023 22:30:02 +0000 (UTC) X-FDA: 80627008644.22.8537716 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) by imf30.hostedemail.com (Postfix) with ESMTP id 3A06880019 for ; Thu, 30 Mar 2023 22:29:59 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=mlMMJ39h; spf=pass (imf30.hostedemail.com: domain of shy828301@gmail.com designates 209.85.216.43 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680215399; 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=x7V03//xrMoj2maIfgC2qsiNLnzTtZRlKFOvF+x+bJg=; b=aV7qm9XrR+qW8idt/H1rgWcWC9Ao3E6Rqfc57K5HPyWNSYqW62FqwSFH09qB9xFLLCUKJ2 cy3X4eyuvC+1yis3zDPEZkcTh0Kc5FGmv566YWhVdG1HdShpcSapkygLopFqUx6IyIuQdy 36P3sAn1Ql5XqlkfAedfHOHDJvG5dI8= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=mlMMJ39h; spf=pass (imf30.hostedemail.com: domain of shy828301@gmail.com designates 209.85.216.43 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680215399; a=rsa-sha256; cv=none; b=ls9qs0jkQKOb1dOsMn8mC5CJFf+VKIADQs7UxkttIcqJ51TGx7dWVPrlkDBm1NudOjBObL F90ZlV8Bj7fsqbIriA7NBFzvY0633PEeKojViMaHLDIZgxpWGbaDjB0F33h8uQ0TFOppor iMCuT+e9kAH0GkE8TKBE5Nk/U+UxtQg= Received: by mail-pj1-f43.google.com with SMTP id c4so2632782pjs.4 for ; Thu, 30 Mar 2023 15:29:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680215398; 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=x7V03//xrMoj2maIfgC2qsiNLnzTtZRlKFOvF+x+bJg=; b=mlMMJ39hyYXqt+JHj1LUKtCdNF3jPgcvR5YIbnZgjG2qBiSoA+kwmOTqtkW+KgUjT+ f3e/T8MSaieLqfYE0dDEdexsiqrRYKBvODsqM2N1upFbF1vKGKnEQRNu6sm836+CwA5C ck0fVumW1XKGVaDTiJc1oZcOOCIV226dBsy+ORXRDdb3DqX9xOqXNxevXkMcMjtEUDFn 3DS5IHtGgjR5BAJQeAORmm+Co3dYw4PAzJtKWdjXOIijVMdHsC+Mv7hna+osVcIUucg/ sMDusNSOtuWu7xAgNPPArSDS5AjN3qPzyekWsD7Mi/qHO9lJ1NdSDNgcsKtE2ONpmI68 vTqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680215398; 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=x7V03//xrMoj2maIfgC2qsiNLnzTtZRlKFOvF+x+bJg=; b=B2IBLy6A9jje6BFxcwSN/BBmML+43TzFoLbUleTP7/3PKK2URrO67t1kQrmrYNFoXQ 8Wds43y9rlvFRqkCiknxW5FjmxA84d/b+nNgmpS7rRB3mg4ZO8JU1MjHzR43as8gWtb4 kZyCLDPOQBHxT8T70c4sLV6NqQGP9z356QbtYKPdwCkOgVM76CTu5yCGRALkAeWs1IeP Fg/qdnFU7ee1vChBcnPIRRl/5xTD8Z09LsRIUOzwLOCUwlmKGVbmyOqOJxMiQTiJuKKZ AzNdUXPa6T77AS6AE6achy1ZMfavYbePKRDboYHsqSGLlInWsnt+znZXmb0PsMnwZPaj bOqg== X-Gm-Message-State: AAQBX9d8RizG5/YchChuDcrAQYbTnrTueUNQHgMEiB1KiKvBm2PZLknI ou2TbBEazsIF+NnYas4As9MVez+ebjwzuOMLfu8= X-Google-Smtp-Source: AKy350ZrPyR1hRVTBuZnQUpMEn54ihWHCa7XbNjYLmiSy4XxnRAJ80dimqjvvbOmN9ocOuC+cire+hzLe0DMBMrzkWw= X-Received: by 2002:a17:90a:fb57:b0:23d:30c2:c5b7 with SMTP id iq23-20020a17090afb5700b0023d30c2c5b7mr2603971pjb.3.1680215397861; Thu, 30 Mar 2023 15:29:57 -0700 (PDT) MIME-Version: 1.0 References: <3a0f0c92-63cb-3624-c2fe-049a76d1a64a@opensource.wdc.com> In-Reply-To: From: Yang Shi Date: Thu, 30 Mar 2023 15:29:46 -0700 Message-ID: Subject: Re: [PATCH 18/19] dm-crypt: check if adding pages to clone bio fails To: Damien Le Moal Cc: Johannes Thumshirn , Jens Axboe , Christoph Hellwig , Hannes Reinecke , Chaitanya Kulkarni , Ming Lei , linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, dm-devel@redhat.com, Song Liu , linux-raid@vger.kernel.org, Mike Snitzer , Matthew Wilcox , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, cluster-devel@redhat.com, Bob Peterson , Andreas Gruenbacher , David Sterba , linux-btrfs@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: e99qwozxy8rc1wjwkybhz5h3cszg84hz X-Rspam-User: X-Rspamd-Queue-Id: 3A06880019 X-Rspamd-Server: rspam06 X-HE-Tag: 1680215399-153091 X-HE-Meta: U2FsdGVkX19FY08Ecbx/5b3VzCRQRKQ8vBwJTsXUk9AoEUk+AevbSUw/wxchT6u8ZCqhwYvOBUsGt6cWDTptKMpn/TqVDdo8i8Pl2OlKbkrfv/nWVru+YIDJJ41Zr5VQXKq7qN39NUKd00e1zk945ju2Al/1QHQh6klzoor5HnLQhXsp6naamvKhn7o5pRQhXWrtcS3VCwG+42fE+d2Z+hfHsJEEFOOVy2WvblU9YkzQe3WNhwB8JaTdPt1EopN2/TvsFJw/zMVZ3HKDj94C6bCfO+5c/ht+UjMce3Ra/RkhVjn48Z+gw6DzlQh8gFfHPVTawLcyxddqG0BDeh4Wy35Y4heHQwsyod4QQgpk7ZeKJSNnKweJkRS4vW6oPiPjjluDu/tFMAJeRIGTE7Rb06qF23DssF06olCewb0lIvWgxslvgwet4iL0BG121qT8Kb+G75Au2+pAC5CMfl+u8dxzZnQSHjRX+XA2Su6p+F3odKK3+hm5IlewbuJzURcqm/Wc5RaeMTbI+cYG/HTbVa/E4T9m4wq0EWWpSXNLWhvKPtlZowfwlnn6XCrDKSs65CNwgATA0HUXWcxmFGmO0ivtzJFgLozncG2UJmHIW90kvpmxbVuuQ6ggSqDAG/ZAooTZRyrN4HpPs6unjuVy7vpcm73rufy/tIaAo7BQ67PhCxuEXt5yOSpPKHwQg/YPKNbKwRsNtMw1B/iIV93ivaSVt09EdjzVWXAziZA9z0w8UqNdwTt9AKro8gaWqFi/0Icbtjdaq0mmjPuxgxSaHG5IBpFH4+wxWaK9Km7vB4xrPNz4k1Du8cyW7EAdDBV6ldvLtjh4Bscvy0qBNe3zm73X/npeCNRRIA+O4xp5LFtjInU9MDlxTLG0yhMSBNbrHAlKV6wunzdz/BVEau6EinwNBvYGsnRpVN1spofLgh3rem1Y+IJ1KNe+/mi0rjrR5I3Di6642DjYHgV4g5M eGbAn3/Z PLC8n+7hUbDPi0kV8BsZwf4Scs/TEp5aQkqWJCmGiB04xVAUAUIDi7StGuZtmdHuB8GZUTke1xxuniS26zIeE6wdi28Uv5kDr2nKshmTPXtrAcRglwcQZWNFpbSGxn/uL62eqUeOoUazsjyQZ8F33yxgeH6YEx0UQn4mTTQu7fHHsmzOy4pZMQ1jgHgCO1ATnKZaKulnXw+pEbYNdZgHa9g4UwfQaKpuWFOuXAlztufHpbzasLlo2uzRk/4cyWgHoEVF0vweAW3yd9ejPgidaMAndwaihn6jZ1CgL+47yquBDBsXlg2A4W1PIz4wQmxhJM+XRJA/x9KJHlxs8tCTqflEqFEd9Fb9yUfshA1T8y/Cydsk/EjR8YcQxWIK10qLKQvr16zAO11qVctbBP2nFaOAVO/nWRAyqlb6fKgTciQc4RpQhptaX5PN8f4clHQrP+mNikUue+Z+CgWKRN02FmAAhtg== 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 Wed, Mar 29, 2023 at 5:24=E2=80=AFPM Damien Le Moal wrote: > > On 3/30/23 09:17, Yang Shi wrote: > > On Wed, Mar 29, 2023 at 4:49=E2=80=AFPM Damien Le Moal > > wrote: > >> > >> On 3/30/23 02:06, Johannes Thumshirn wrote: > >>> Check if adding pages to clone bio fails and if bail out. > >> > >> Nope. The code retries with direct reclaim until it succeeds. Which is= very > >> suspicious... > > > > It is not related to bio_add_page() failure. It is used to avoid a > > race condition when two processes are depleting the mempool > > simultaneously. > > > > IIUC I don't think page merge may happen for dm-crypt, so is > > __bio_add_page() good enough? I'm working on this code too, using > > __bio_add_page() would make my patch easier. > > If the BIO was allocated with enough bvecs, we could use that function. B= ut page > merging reduces overhead, so if it can happen, let's use it. It does allocate BIO with enough bvecs. IIUC it will merge the adjacent pages? If so page merging may happen. Since dm-crypt does allocate BIO with enough bvces, so it can't fail if I read the code correctly. I'm wondering whether we could have a never fail variant. > > > > >> > >>> > >>> This way we can mark bio_add_pages as __must_check. > >>> > >>> Signed-off-by: Johannes Thumshirn > >> > >> With the commit message fixed, > >> > >> Reviewed-by: Damien Le Moal > >> > >> > >> -- > >> Damien Le Moal > >> Western Digital Research > >> > >> > > -- > Damien Le Moal > Western Digital Research >