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 E66D0C77B75 for ; Mon, 22 May 2023 12:03:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C9856B0074; Mon, 22 May 2023 08:03:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 67981900003; Mon, 22 May 2023 08:03:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 51A91900002; Mon, 22 May 2023 08:03:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 428D16B0074 for ; Mon, 22 May 2023 08:03:47 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 16483AD99D for ; Mon, 22 May 2023 12:03:47 +0000 (UTC) X-FDA: 80817756894.01.B440B9C Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf14.hostedemail.com (Postfix) with ESMTP id CC0AC10001B for ; Mon, 22 May 2023 12:03:42 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="hc/DdOk+"; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf14.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684757024; 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=V3Lhaor4pwQIZ8FBVp2472SUVuBYL6WQS2OjZrMkJpc=; b=pXgWYFUytC/PzwjIP2P5//vAa/uIhS0o3YaQBdwzY+athuMVpBFBcGsrYwsWRyYrevtJS6 Vyt6Awd2Xis81/8whGmMfT8IJau7niQFux/xl++UVTaya1a+xgLuzw8AqlLqq/xb4yFL+j rRSML/THieBFyuZPNqwMseRYI06BXTE= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="hc/DdOk+"; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf14.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684757024; a=rsa-sha256; cv=none; b=ld/T1uDFhHyNAZe9K2omzYxdcGz5dVNQ3PjeCmO3ZQF7QJFnsKBqoMdGqEbHb5dByk6XO/ 3cBIHp8Ams9vYUq7Rn5HR9VJI7g8LxxD/cC8g1f/g0+VDr7CANu+7/wWgzjpNyYI4gsWDZ 7U0Z5tE5MqmffcywUlIsN6jEIY6EKdE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684757022; h=from:from: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; bh=V3Lhaor4pwQIZ8FBVp2472SUVuBYL6WQS2OjZrMkJpc=; b=hc/DdOk+f6jP5uHVQf/grA3HqYDlPyBhj7e4e51hZXd5TZOfwSKfeLZRcIZy/SXLc0kAKj Ll6qwDt96ey2Sbg6E3FjOciwE5UVO8QoB/FYPaAlJUOeSTsnpuoWtIPBUVXe2oszS17H7U +kDBSN2ezOBF+GAd1ZuTsK0pqV+eA6k= Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-649-GRXiet4RNSasRzucqMeLeQ-1; Mon, 22 May 2023 08:03:40 -0400 X-MC-Unique: GRXiet4RNSasRzucqMeLeQ-1 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-30a8f0bb295so620213f8f.0 for ; Mon, 22 May 2023 05:03:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684757019; x=1687349019; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=V3Lhaor4pwQIZ8FBVp2472SUVuBYL6WQS2OjZrMkJpc=; b=K0asQJHbDC6imf5MTVNU7GCHyQa0kWe6H9Ep56xbA5XLdrxP7el+E336rTFNgNUq7Z dwOPPp/P7usdrDQ5tvMJ5AlEl73vMRkiO86ka7gpPpk1ERcnSmE5sLbT6nRCKFByD0/h j0IgJFEdU8N0Ex4xZjSAaGscMhiljlDQBFWp6dj5M32Q7EqzIQMrmAPFpQheaxOdq/AA 1hEYqgmFC956Zy0+ddVmY3qqVL/V0f9WfBvlnyXndmh7mnTt7vKd3mBdqd9zS2/OH6KM JQrrHwgtN0Mn+TakTgTb7GNOJ1ljX3h0rFHv1FicLHw2DmVrfQVgNMPaxnJcH601iN4Q odPg== X-Gm-Message-State: AC+VfDxtPLkE7rZVvbsSjSFJWzR6m73iyCH5HjVeXLGWe2tNDMq8x8lv FmqO3SgaxrCkn2LqiNmIwY3lMa+SqBdjsPY3OrMO3ksa+xk1cOVRa30+75Yk2AX9jnH/vNjYkhW C2Bsj0QRbw4k= X-Received: by 2002:adf:ef48:0:b0:2f8:f3da:72cf with SMTP id c8-20020adfef48000000b002f8f3da72cfmr8194256wrp.18.1684757019589; Mon, 22 May 2023 05:03:39 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7LKj7uvbKNKZrF7jijaIoeN9nK+rx43j6qxUUp9A6OUqm0WGQT1iXH4yKW15xAYitBjN7vpg== X-Received: by 2002:adf:ef48:0:b0:2f8:f3da:72cf with SMTP id c8-20020adfef48000000b002f8f3da72cfmr8194173wrp.18.1684757018360; Mon, 22 May 2023 05:03:38 -0700 (PDT) Received: from ?IPV6:2003:cb:c742:c800:d74f:aec6:f8ac:558? (p200300cbc742c800d74faec6f8ac0558.dip0.t-ipconnect.de. [2003:cb:c742:c800:d74f:aec6:f8ac:558]) by smtp.gmail.com with ESMTPSA id m9-20020a7bce09000000b003f4247fbb5fsm11290703wmc.10.2023.05.22.05.03.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 22 May 2023 05:03:37 -0700 (PDT) Message-ID: <200a094f-7ca9-8a64-1c9b-7cf2e546f3eb@redhat.com> Date: Mon, 22 May 2023 14:03:36 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH -V2 3/5] swap: remove __swp_swapcount() To: Huang Ying , Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Hugh Dickins , Johannes Weiner , Matthew Wilcox , Michal Hocko , Minchan Kim , Tim Chen , Yang Shi , Yu Zhao References: <20230522070905.16773-1-ying.huang@intel.com> <20230522070905.16773-4-ying.huang@intel.com> From: David Hildenbrand Organization: Red Hat In-Reply-To: <20230522070905.16773-4-ying.huang@intel.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: CC0AC10001B X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: k6975yyr8wstg1od6n38j3zec7m6jup8 X-HE-Tag: 1684757022-282880 X-HE-Meta: U2FsdGVkX19Rwp+QSvj5drp2iXPmJUWiGIP2fGpzXspCzztZ94x/UBxzKCgIe58zUFG4ijYzKgYUVomUwoHtOdQRY9plUTzBAw2AIgtHGRr2IC6SIlKsdztKdpA/WDlW2EfxDDMkiZ3pgVf1iQxdCHoEZD3uFDEj8Xy4ViPukcQOUcp1d73fYs9xjxaiJ4jwciEoBk9A91PQCFEuk59dCZgO1riq2tymOU+tZPOlxCH2wktToVH02a5WTbglXXn4w+pDz8sb0GbjiwO683YWaUx99Bp3qrIaPclf+ZtYeehjSWB5OQ/Ay05RFqZFsaVP/dT24I5Veluxesry0ciR/ezboltxZJyamlpC/Rr5+83xGaM7rA9icBcsZFN9mfXSi4xzwKWD1Mq5MHCMiphhDxAF/sZf3F0IG1OPX7PFdT3UhHWbEV/fu0fll9bsA0Xi7NYQkJiv1jgUnVXaVTJoid2iZkTJeioPRGbuSLzV9buzDyuplLdHNaiJf6kzvn6gSnSUuzXurFQ91D4HLZ8YPQCG656olOVuB2CBJycz58tF9vzpPZjD4BtY4QkAKL+9uQCeQWMaJQISmNE/XzPWVYwzWic33t3kK3fsNx9i7uiWHqrHfZnw4PkwDvoKVFUN1wgOVazEyRLeT9DZzdQ4FHFmzOrbk8JIMQOu58G5cRHN2rGosRLbB4q9C6HZfGTHztJ2nsjQdLk2QbsTZMF37Q5booRbezZGebx5lGMXpejoONWKj+BOj1KMUUaB8DTIR2rMslz0Ev+Q/8cw6ygRPLxyM2w9kzBM+u88n5DnUdk1QllxH3Eg5YH0n2tRUyY0i4XPwrOD0LycqBCF+WJV4pJKrv4A1esvaqh3vvs+PuSKIZzqrJOU7tp+p9VxCHT2W25wwH83ml9Vwm69nHsOZSg6vyHUKwqZqbUMvpTpZTZelU/YsCYA8ceRMksYeQDAL7GXjrMee+iIQH5dwmF HvKoaKhM yb3hBfVU8NqS80sEZP0jNMPBriJrSVcwNMM85w/jhG2Dsic+yPxD0AeqVy8ZyKdE+jvtKUVGnvXfMDHewUZ2Vxa/N3ScdacTolFKDYXZqOSvryAaNDrYKul+gjDNSo6ALxULWLZiwkgU/rgzjjbviu905fNQPFMh+7arz05aZ4YjKYcOAD25ND7Tg6iQ+rEP9rILwcfCo6CPEJQBsvPCevygtZUv2cgE4RPUbqLyzdDPcSZQ/YHZg4fA5GlRd/eex3yYx7wK2vgvB4zGprs213P74VLlnx+2PzUHjdqAfQ61CIvdNFHb7c9QPC8Ko9ysXBOf9LdeKV77W/ej3hKrhNtPZahLEqQ/YnSAFrqfHp8Ie45b32WcE0+79CQrsTZLuc2KBFthAIW4Ohhvg73fyTL7JlxadlZ5S8xxSyxh7VwtYFdXqHt5H4pUEbjK/+COgAswn/o8G3l6VaNKYhBn7K4khXb7/OoPLsIst6aD+X5UDwGu3WSI111XskjRFLh5MQDkGqIGiiR1m9bSgJGF/za23Qe3xKiat7txkv9n+BPQyR8oesnVe9DwiN+BjVuGVRZtr48sZTXjtl1iKTSwqeZLvDlZZrX3v23/GGrHaaGbCJPyPSSVPGM0JDPYv6xoiCNw/4QyDu859K8azz+ONWId+62HugyLRo+ng0MEdNEmz+JCm7kHNOdw4wwW759/gAVJSgSZNhzeLvKxH+cWEhgfWlrytHh3Ra0Rjo/loNlINhzdXCfkaKpvnR1FYxM7HXY+f 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 22.05.23 09:09, Huang Ying wrote: > __swp_swapcount() just encloses the calling to swap_swapcount() with > get/put_swap_device(). It is called in __read_swap_cache_async() > only, which encloses the calling with get/put_swap_device() already. > So, __read_swap_cache_async() can call swap_swapcount() directly. The previous patch contained the hunk - if (!__swp_swapcount(entry) && swap_slot_cache_enabled) - return NULL; + if (!swap_swapcount(si, entry) && swap_slot_cache_enabled) + goto fail; So something is a bit off here. Either that hunk should go here, or this patch description has to be adjusted. But I guess patch #2 doesn't compile on its own because this patch here adds swap_swapcount() to include/linux/swap.h ? > > 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 > --- > include/linux/swap.h | 4 ++-- > mm/swapfile.c | 20 +------------------- > 2 files changed, 3 insertions(+), 21 deletions(-) > > diff --git a/include/linux/swap.h b/include/linux/swap.h > index 3c69cb653cb9..f6bd51aa05ea 100644 > --- a/include/linux/swap.h > +++ b/include/linux/swap.h > @@ -512,7 +512,7 @@ int find_first_swap(dev_t *device); > extern unsigned int count_swap_pages(int, int); > extern sector_t swapdev_block(int, pgoff_t); > extern int __swap_count(swp_entry_t entry); > -extern int __swp_swapcount(swp_entry_t entry); > +extern int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry); > extern int swp_swapcount(swp_entry_t entry); > extern struct swap_info_struct *page_swap_info(struct page *); > extern struct swap_info_struct *swp_swap_info(swp_entry_t entry); > @@ -590,7 +590,7 @@ static inline int __swap_count(swp_entry_t entry) > return 0; > } > > -static inline int __swp_swapcount(swp_entry_t entry) > +static inline int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry) > { > return 0; > } > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 8419cba9c192..e9cce775fb25 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -1443,7 +1443,7 @@ int __swap_count(swp_entry_t entry) > * This does not give an exact answer when swap count is continued, > * but does include the high COUNT_CONTINUED flag to allow for that. > */ > -static int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry) > +int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry) > { > pgoff_t offset = swp_offset(entry); > struct swap_cluster_info *ci; > @@ -1455,24 +1455,6 @@ static int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry) > return count; > } > > -/* > - * How many references to @entry are currently swapped out? > - * This does not give an exact answer when swap count is continued, > - * but does include the high COUNT_CONTINUED flag to allow for that. > - */ > -int __swp_swapcount(swp_entry_t entry) > -{ > - int count = 0; > - struct swap_info_struct *si; > - > - si = get_swap_device(entry); > - if (si) { > - count = swap_swapcount(si, entry); > - put_swap_device(si); > - } > - return count; > -} > - > /* > * How many references to @entry are currently swapped out? > * This considers COUNT_CONTINUED so it returns exact answer. -- Thanks, David / dhildenb