Message ID | 20250313210515.9920-7-shikemeng@huaweicloud.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 C282AC35FF1 for <linux-mm@archiver.kernel.org>; Thu, 13 Mar 2025 12:09:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F30A928000B; Thu, 13 Mar 2025 08:09:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6C9BB280004; Thu, 13 Mar 2025 08:09:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EB6BD280007; Thu, 13 Mar 2025 08:09:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 8D0A0280007 for <linux-mm@kvack.org>; Thu, 13 Mar 2025 08:09:34 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C27891A2018 for <linux-mm@kvack.org>; Thu, 13 Mar 2025 12:09:34 +0000 (UTC) X-FDA: 83216408268.30.881E85E Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by imf29.hostedemail.com (Postfix) with ESMTP id 3650412000D for <linux-mm@kvack.org>; Thu, 13 Mar 2025 12:09:29 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=none; spf=pass (imf29.hostedemail.com: domain of shikemeng@huaweicloud.com designates 45.249.212.51 as permitted sender) smtp.mailfrom=shikemeng@huaweicloud.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741867773; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=u/tHHnTpfGEGPWKdJrY2i9IVdR3XdCz7OYekZEfVmik=; b=B0mAsbj/pLdjJhzJldi/nIrOmz7da4kaG8VoVGaR5+6iFa2I3JUb0XRmTYdP7zMYNuMY5/ IHcTvHihlmZ5MWtEd0BvsW4rSRWQ5c3tw0b0bIYHO5MOg7JSmnXdNsxeoTpY97rG/nQ5lC WfxzqD6pdNn1L1v/UcuxIHHjjmqmoV0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741867773; a=rsa-sha256; cv=none; b=qom7xzvHEGOSINOOzJjzzIJK32xfXo1S5njgQSoyVHM+SnGkuNmJ84THQYdDPhCSJLgNEy xydam5tyS/5CxZfY025X3ZE19bAfaRtqLoqhDbTX3aDAOj2pE0UKP8Rw2ckOSgPXPmRwrf pOPQq+X3HTdmw4hoDCpddGKbY/jguTw= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=none; spf=pass (imf29.hostedemail.com: domain of shikemeng@huaweicloud.com designates 45.249.212.51 as permitted sender) smtp.mailfrom=shikemeng@huaweicloud.com; dmarc=none Received: from mail.maildlp.com (unknown [172.19.93.142]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4ZD5rh4tvTz4f3jt9 for <linux-mm@kvack.org>; Thu, 13 Mar 2025 20:09:08 +0800 (CST) Received: from mail02.huawei.com (unknown [10.116.40.75]) by mail.maildlp.com (Postfix) with ESMTP id BDE941A1693 for <linux-mm@kvack.org>; Thu, 13 Mar 2025 20:09:25 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.101.6]) by APP2 (Coremail) with SMTP id Syh0CgCnsGPyytJnTaZeGQ--.9643S8; Thu, 13 Mar 2025 20:09:25 +0800 (CST) From: Kemeng Shi <shikemeng@huaweicloud.com> To: akpm@linux-foundation.org Cc: kasong@tencent.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 6/9] mm: swap: drop last SWAP_MAP_SHMEM flag in batch in swap_entries_put_nr() Date: Fri, 14 Mar 2025 05:05:12 +0800 Message-Id: <20250313210515.9920-7-shikemeng@huaweicloud.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20250313210515.9920-1-shikemeng@huaweicloud.com> References: <20250313210515.9920-1-shikemeng@huaweicloud.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: Syh0CgCnsGPyytJnTaZeGQ--.9643S8 X-Coremail-Antispam: 1UD129KBjvdXoWrKF1Dtry5ur18tryxAFykAFb_yoWkCrc_ur Z0qw1kCF4DJFsruF12y34xXrykGws7AF98X3W0qFW2q3yDKrySqwsFkrW7trn8J3yfurs5 Aas5Zr43uwsxJjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbS8YFVCjjxCrM7AC8VAFwI0_Wr0E3s1l1xkIjI8I6I8E6xAIw20E Y4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l87I20VAvwVAaII0Ic2I_JFv_Gryl82 xGYIkIc2x26280x7IE14v26r126s0DM28IrcIa0xkI8VCY1x0267AKxVW5JVCq3wA2ocxC 64kIII0Yj41l84x0c7CEw4AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM2 8EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4UJVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq 3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_GcCE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8w Aqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE 14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20xvY0x 0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E 7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_JF0_Jw1lIxkGc2Ij64vIr41lIxAIcV C0I7IYx2IY67AKxVWUCVW8JwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr0_Cr1lIxAIcVCF 04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7 CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x07jstxDUUUUU= X-CM-SenderInfo: 5vklyvpphqwq5kxd4v5lfo033gof0z/ X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 3650412000D X-Stat-Signature: zzgiw4krw1d6djtxstdg5md3peg9pene X-HE-Tag: 1741867769-560889 X-HE-Meta: U2FsdGVkX1+18eEDRsBnKBf/jcxmzBBmlIF6pkfRotiIuqzUX7ZSKXv7Y4w55n7A0hBwHFna9MMirrx7GxQKg1T0CBHaA4lyFNHfTP1ZHDloFO5Zbr2IszW7S9bWDiGByiVpNkbprDeJKqFD/q+h4guRiIAQAav4QEyyiRYtnY7tX0MWdCTbRqYq2PJl2Xqik0zD7pW6Rfrr2xP9ow57SxiNLvrNUTae1t929J2gFQhmOwj1dgtmr8EvMYZbtZ9zt8GkNz7M6o+Kx8nUZCNlh734eYs7Yg1J5u7YLJtSCo3c+aQVVsaZh+XN0fmKdaBbF9e920Asu9WqJkuQI1YrEbLaFLUiA1iB0kAyVOvTXxqZoRTnRhSEP6+4xKMQLpa5NiD7X/9Z52l69vE0oZKi98T8AZQbTBQiDonDxxZNqHe4O6emB8luHOco66FQ3arDjao1CnaH3EzUDZAn4mZAZrTJwHEOjYl5dfaWwWEVeWNDy2A4a0Dzi7KBSVtTN4uEo3RBAjOiu2vGp3O31dPlEq0ovxqie1jjAN8416mO/2QrGuYIwiy22N9w+Qv32o/MmYA/P6GeT71rvz5jOachyUIHb+3O2MxwKsOhbbzswx6bo8hQKEuD74oxREaaHlvXWAZjKDjIp0tbxxoXIF94mMVckIm5iI5stW54+kH4gAsbYOr3bmfkDxrQtuofECLU7ZwMRuzlDg23woo5XeU3JIveuAD/KzPfyVkaNIhVFsLc9PNByVYCP+B2vMJRmOAIm5qveP4LXo+9HWuvdmhbfRXTBkF/MZeR+4wjQVH3VuBJ/qbKsXlT6b/DYpzKPqClzfR/C/uRktTeNb12g9yRAZcDvkr+lwQI0xidoznK7l0Prc33B2FTEWROnjzgMqu8OggVXd1gCjWszZSv7KO6f1MU1uoaCJHcbycQQNS9ccU2aWdxRpJaKHaqu/JRF21gmji9rx5Iuef/snnCd1U EhO69vy2 aCnvI1GrOUwEnVQ6VNaX1Q3GmDJf6NtzfyP/Npmr3Tyv6zWpoorWt+wyYv5/wJ6XuKVHvVZiqrRbK8Qa5ByS/WACcM75/22G1djD8pZHwbqYFIi9hawjQ9Qbre21UL+L40TeS1C+I+HvEPeyIyGE66JrcrQkVcI4MAsjkDbvxS6BlpxD6n8bjXBLYXbjuc/llBeTSg6mxX6HOH2okAvhKlDMNHQ== 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
Minor cleanups and improvements to swap freeing code
|
expand
|
diff --git a/mm/swapfile.c b/mm/swapfile.c index 0ce0ca08594e..2d0f5d630211 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -192,7 +192,7 @@ static bool swap_is_last_map(struct swap_info_struct *si, unsigned char *map_end = map + nr_pages; unsigned char count = *map; - if (swap_count(count) != 1) + if (swap_count(count) != 1 && swap_count(count) != SWAP_MAP_SHMEM) return false; while (++map < map_end) { @@ -1497,7 +1497,10 @@ static bool swap_entries_put_nr(struct swap_info_struct *si, unsigned char count; int i; - if (nr <= 1 || swap_count(data_race(si->swap_map[offset])) != 1) + if (nr <= 1) + goto fallback; + count = swap_count(data_race(si->swap_map[offset])); + if (count != 1 && count != SWAP_MAP_SHMEM) goto fallback; /* cross into another cluster */ if (nr > SWAPFILE_CLUSTER - offset % SWAPFILE_CLUSTER)
The SWAP_MAP_SHMEM indicates last map from shmem. Therefore we can drop SWAP_MAP_SHMEM in batch in similar way to drop last 1 flag in batch. Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com> --- mm/swapfile.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)