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 5D3E1C77B73 for ; Tue, 23 May 2023 01:39:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F309E6B0074; Mon, 22 May 2023 21:39:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EB9626B0075; Mon, 22 May 2023 21:39:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D5A6C900002; Mon, 22 May 2023 21:39:45 -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 BF0B26B0074 for ; Mon, 22 May 2023 21:39:45 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 91CBD40585 for ; Tue, 23 May 2023 01:39:45 +0000 (UTC) X-FDA: 80819813130.14.4A9BB88 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by imf13.hostedemail.com (Postfix) with ESMTP id B3B3C20002 for ; Tue, 23 May 2023 01:39:43 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b="m/aDe7Z8"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf13.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684805983; 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=GrcX1CSiLCXeFc2H8bMb+WXn6DJRSUX5JYbVI8Ce8+Q=; b=AF7JvTElwSc2vNM8LxusNU/PDD1ihrsR/BdEfBQjbSQCmv+SJ7Yii6ehsEnSe+fu3jcT0W n/1soE6w2iMFgzRM8WwC6gwBe2tXH8ElGoIKYBVMjSn5Zb4Ctyi0+rU5goCRL0JyPljanp 5KbvN0Fki4nGQNI9aYP3w4oUTQ7gjA0= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b="m/aDe7Z8"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf13.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684805983; a=rsa-sha256; cv=none; b=nhC4FFKFCTqqbtOx5ql6mBKJuj+lKJoPcPCmn3vo9xUpFJ8HxX2mYALxyBQX6+YQQyGwkE S7o86TG0kJbml+bAOxBnOxXpNKMzQi8oX1RmASMVlEkrV5I9P0TAVspoHckQY02HlfeiG8 hfKU8eCnjL6paUgINF0CbR6xIFg2hTU= Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-510d967249aso528351a12.1 for ; Mon, 22 May 2023 18:39:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1684805982; x=1687397982; 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=GrcX1CSiLCXeFc2H8bMb+WXn6DJRSUX5JYbVI8Ce8+Q=; b=m/aDe7Z8+MwMc0JlHAOIYgvj/qIESOpABmRKmKOfl5e7SfUra0W1xbgUv84ZOB58P/ /lKH0zLU80c+fAWrKlJSQcpvGWUnfUX8SzoKYTsgK/qq+FL8dSwmW3YUrLhBdKwHNOIz TZ6mqbiPAtXC0kS4paOtDd/55crKjPAqqs/VGjWGPRwhM4iFfxuRiqzygT53mHbDr4Ud jEz+uLFBEkslB4HqDrl0/19IjKiG0Bum4dEyTSTk3VqMxeKWyG5MLQK/1Di3zT2NY+aw mz7sQXfIjt8uZFuB7W5ARadesmjM+t7axKd74dlHmh4rAmsv1pTdxDv8z9FWxCUeokHI LrwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684805982; x=1687397982; 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=GrcX1CSiLCXeFc2H8bMb+WXn6DJRSUX5JYbVI8Ce8+Q=; b=HwPl4eVTHstHnyOB+mfK5IXNbUowy/8aZPfagbcqbVzef4+41G8OTy8KNAdZDVBP3S UziPlp6jg5Lww6qNCZD/8eYjV41AI/WACEaMHimMfHRzv0Nrfyl1IMvVDVJgVvgTgEQf HHrfZXbkgFgsVSqloze0pwbuXEWKpanhkSZahJlGG7ddbSSYqrUB8OOIq4DUM/x2CzrG 9tSnbi8N27mCTd5nh/W9MV+P1BPaFqY8ycIDWZ/MwvLrYvO5d8wVwspYL+zvEPCQUSg5 bl/tUNcQOmp88HVWwOAon3trR7NtWInfA9sqfVAg1J6Yz8Fi8DUqzZo1yo3A9noixCo9 WpoA== X-Gm-Message-State: AC+VfDzsvzkkYmKpX+l+m5uIFoOyjfrGanWUxVNzOGTL3JRnzzpfKpB8 vW4Aal2A4gTsoLhCgmgP2EJIX/i1eeDhci42h8NvYA== X-Google-Smtp-Source: ACHHUZ4oTAFpYmzEnxnqIpP3J/+qMbmQqG5Hjz2KbdOplyMhgUeFHEcGjCybPEmifB0Lu9OWBHnMmKNWEK7R9VMhEdE= X-Received: by 2002:a17:907:a407:b0:96f:daf3:c66b with SMTP id sg7-20020a170907a40700b0096fdaf3c66bmr6073621ejc.30.1684805982125; Mon, 22 May 2023 18:39:42 -0700 (PDT) MIME-Version: 1.0 References: <20230522070905.16773-1-ying.huang@intel.com> <20230522070905.16773-5-ying.huang@intel.com> In-Reply-To: <20230522070905.16773-5-ying.huang@intel.com> From: Yosry Ahmed Date: Mon, 22 May 2023 18:39:05 -0700 Message-ID: Subject: Re: [PATCH -V2 4/5] swap: remove get/put_swap_device() in __swap_duplicate() To: Huang Ying Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Hugh Dickins , Johannes Weiner , Matthew Wilcox , Michal Hocko , Minchan Kim , Tim Chen , Yang Shi , Yu Zhao Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: dhutqab5e9a9tqmg1en4p6q83hz6ygk3 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: B3B3C20002 X-HE-Tag: 1684805983-852037 X-HE-Meta: U2FsdGVkX1/ikn6ny/OWYjmO2bRSfccmGPTQYEL0WDycoy/OZOVU96FYJtIyOYGJnOsVe4lfY30QsT3phj/NsZ39fVHVd4UDCKny9oYwB//XgPD8oMPI1YychRldiaeup7QXr5XQq95yBppK9G8a6wibQCPBEpu34Lxo+FOoQQU3EH3Sp6BoGMk18AN8IU8cHBd6MvXg5ALrn5aWFx8hVPO70HmwE0vaqPMAGKyhokv1vF/J5AKhnnBsFIrbiIgO2Vnbs9/2UTOlFlyf+WCnY2+0Q+QBx0E117ViQ/NdpfAp14hqpGxXAcfsBeVlbichXQ0UQXTz2s077mky8cw42qDabxYSjFAd3rI7jBio/dq9h7WlMq4GrlqZRKKvBbWr4ym/wqMKp4xDUSGcKe8g+17ZCL4j5NnKy4w5VLHTY4qmekZ7GnC8yuQib2dzdSiX9qL+tIJp9lwXP/gLkPcyAI4S7xSi03lq5jAL1bXTMriqXhRkO6I84NxfIfsxGX2e35eg7gqOWJdI6J+QJ191DwAB2oAikHGwvEDgqemJp6Dm5uFBqkGxFLEXZ5xvRmD/c1BWVWLYYC+RfM2wk5QfGY6I8MP8Vk+zijkliljNYKX8vZSYVxnOfmmCLON+6FB+QvKqWPTZFkzQux66FOqWTQvmvhw+krT3t1AR8zG4Q5PBxADQHDsEPglvfuIHQWFqAg+RL+hE9DJvcN0EC/7OVxat76Xj6wyWIhP0knLiXXHd7gAHSxrV5niuwQMtU2rJLtf6OcgJGcxee1hOdJudaIwj3rKOpq/WhucNWOD+Ih0eBZd6mfr4zcwHEuol9j7qmEknUHexFcXvWJPKdirQlFw0v4VfuzSS3fqv2Ey00EWr2vrIYR3BEza1M7Sr+dEdiI0F529p8WU0otaXFcZ8QFCWoftZPmHMy5wyvLbz580GRb4Tktq5yXw3GYRFortJ+u4WSGJKLhFB1tvq28q HkF2W2nr ud5FZYWcYEj/dozLBPUh7UQw6jUdwbA3TcOFeGAjUvTv8oLo+IX43Od8VV+VRPDfdsizTKOx6IiJnGGmJqLta0JYTyw3971VR9nKXEx2uKMXoiD/UZ9gQMX7X28f5vql6V4w01zp+p9/OyjcOIiWYO+AxTJMmRnvf9ts96A59s4c4DFpgMZ2KXUOKgztcbntQxBSaJAuOgaLR3BG9BYoHIX73DHKrPhUQwG91h3Rli0ZSaLIyBfRCbR2ob6lnAJWMePiVE5djCsLKUJaxo6wPu2RhJE47ufKD8g3RxYbjdAo6oRG+TZOLSlC9oVU0cxOp2Be2LHSuVzOVW8vRfJJSBWQUPG4u7LiFra8WW/5N3kFsjuVWNAySuEMf379hSX1TmTswGrk65TXZ+ob1YhwUbMzDW6ImYCHlSVXZquWaQn0TaQ1AS9TjJe76v7ypFTkIZXyxch9aaHNp4tpta8vXU3EqgH9nPZQl2ngNwPgmTQ4A/IQdvpKAdS354Ogll7U4eJS78Ewnm6mJTk3B2z9YQONc2v6WJEM9Qx8UD1H2yES4B+rOijrkCN6X6Aie6UHM1X8k9Mi5dTuMIzWz17R2hG4G0HnFSuHqZwtM 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 Mon, May 22, 2023 at 12:09=E2=80=AFAM Huang Ying = wrote: > > __swap_duplicate() is called by > > - swap_shmem_alloc(): the page lock of the swap cache is held. > > - copy_nonpresent_pte() -> swap_duplicate() and try_to_unmap_one() -> > swap_duplicate(): the page table lock is held. > > - __read_swap_cache_async() -> swapcache_prepare(): enclosed with > get/put_swap_device() in __read_swap_cache_async() already. > > So, it's safe to remove get/put_swap_device() in __swap_duplicate(). > > Signed-off-by: "Huang, Ying" > Cc: David Hildenbrand > Cc: Hugh Dickins > Cc: Johannes Weiner > Cc: Matthew Wilcox > Cc: Michal Hocko > Cc: Minchan Kim > Cc: Tim Chen > Cc: Yang Shi > Cc: Yu Zhao > --- > mm/swapfile.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/mm/swapfile.c b/mm/swapfile.c > index e9cce775fb25..4dbaea64635d 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -3264,9 +3264,7 @@ static int __swap_duplicate(swp_entry_t entry, unsi= gned char usage) I would add a comment above this function stating that the caller needs to provide protection against swapoff, and refer to the comment above get_swap_device(). Otherwise, LGTM with David's comment. Reviewed-by: Yosry Ahmed > unsigned char has_cache; > int err; > > - p =3D get_swap_device(entry); > - if (!p) > - return -EINVAL; > + p =3D swp_swap_info(entry); > > offset =3D swp_offset(entry); > ci =3D lock_cluster_or_swap_info(p, offset); > @@ -3313,7 +3311,6 @@ static int __swap_duplicate(swp_entry_t entry, unsi= gned char usage) > > unlock_out: > unlock_cluster_or_swap_info(p, ci); > - put_swap_device(p); > return err; > } > > -- > 2.39.2 > >