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 AA263C27C76 for ; Sat, 28 Jan 2023 09:49:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 120826B0072; Sat, 28 Jan 2023 04:49:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0D14F6B0073; Sat, 28 Jan 2023 04:49:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F01C56B0074; Sat, 28 Jan 2023 04:49:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E11006B0072 for ; Sat, 28 Jan 2023 04:49:01 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 9FD5EC081A for ; Sat, 28 Jan 2023 09:49:01 +0000 (UTC) X-FDA: 80403734082.15.F2A8E7C Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf06.hostedemail.com (Postfix) with ESMTP id 4F55B18000C for ; Sat, 28 Jan 2023 09:48:57 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf06.hostedemail.com: domain of xialonglong1@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=xialonglong1@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674899340; 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: references; bh=XzK3uNttrAqbroUmIEfxQJAi5Zofc0pBF5Eb0oE3frU=; b=DS+MoaSnz6gG0j7Dla59X5wvjuk+s0gBBoni0AQiHNR2Ws2YXlZL5uS30rs26olwXYgJXR dWJlhfhev2F3TL6ztcfxeSZOJg+dgka0j8vnm1KZPHOQjLuAqQpxgIBqNJWgabBScuB4ee 6FBATZSFIw8KyVjNecq3pjXoRgQoHug= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf06.hostedemail.com: domain of xialonglong1@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=xialonglong1@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674899340; a=rsa-sha256; cv=none; b=m7yoYNseenkVsUtwHpHptR+NrDTffefbHWcY4R1BoisCOBLOV9fv4d7fGrVaFpvepXcnJP gewoh4yINsLrKdQnK18B+32z6tVy52+c9jNyuFQIn9GKmnjhJD0Oq29taFB1bgsDz6O9En 7FXTzCENb9dB6Rn2F5lnygiN8LC1tWA= Received: from kwepemm600003.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4P3qQS4hFYzfZ9X; Sat, 28 Jan 2023 17:48:48 +0800 (CST) Received: from localhost.localdomain (10.175.112.125) by kwepemm600003.china.huawei.com (7.193.23.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Sat, 28 Jan 2023 17:48:53 +0800 From: Longlong Xia To: CC: , , , , , , Longlong Xia Subject: [PATCH] mm/swapfile: add cond_resched() in get_swap_pages() Date: Sat, 28 Jan 2023 09:47:57 +0000 Message-ID: <20230128094757.1060525-1-xialonglong1@huawei.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.175.112.125] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemm600003.china.huawei.com (7.193.23.202) X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 4F55B18000C X-Stat-Signature: arceprbugyoe54d58h5w4xncauqo1wby X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1674899337-784957 X-HE-Meta: U2FsdGVkX1/ismC6REdIiEI+uGwxGPrBY2BoxdWVmM6t+fZwrbyyyxfd9f1Exc6gqb4+m3CRXIVmGbKGf2vv99FQcCC3bH9YPcdzgm6m2ZHBAREajlcePiFbcPi4PGGQR+i4/PcHT46qyOVHvl7pnT0r8i+34bR+bF/Wo+45g2dlhOHAQM5My1/lbejQltEf0EKvZ2WM/lDEJRqMtJOQFjfvfvf0QeA4g0A9cxs4bmhkIRVWvU0X4j12xHf5WEq5ITaF4vh57xEh5GicIRP7yvylxfevNK3cpTQew3NkIjLAQO6awhAzrZi9PEKth6Dd+HmMZzUedtbz7HfDuufPDPvZMacXQ4k12z/cedsAdB1TCdzsQCNZdL5QUHlwnX1qn/zE1JUVzvoGhxMzIgVps45rMMF44FADZ0/mHMXgO0XcUEUB0KUbSQsvpFg2sb5T3XyEVWBEreVMpFCuhPtjaLFIoBXkAcsCnhyQC+51c9bOzzVh2aANKA7OJX3ITUpErCzxqSO9beqg8bYBY2kVhKzWBim+r5bAO+2vL9w+aT7wkahnHRrqt8VGbu38AU/jSu2KMDWtUFh5VKNl1kGR/ZQzqbXVaZQvgRts7YzPt5oaw8PWnmYgcaHTUbxhCquT+w7g1TuqR25ZN8nAMggeiCW4y6UU6VigP0cGkGKD9eDsHGOP/wacLV/qkChndfqZSgGyDJUOLAsgenJ8f7FygrpNgi5ktfrb1cqVFjIieeGWF9nG1dmUQULqT2HTqpp1h3AUnpbCGY/ekT+35DA1dk7wKLT/iwXbf40X+RIqfs5ZP40KtGDzKcbBdro0t57uCELueFML/OH+0Tt5UGLQwBMV7eoAv3IhTHseAHs0VnjXEYmxsRcx18xx/TuloYqkuyMQIinM1k/ZXvVEuKViizWOY6W2NxxYCeXrhJTjaOVBVp8K5cx2eTZNev795OyvRIfuvS0A68FSIJ/7AX2 wJKls6wp jempuUblZnBhTOb01qzt0DBQcIwrzWCxZJTqGJeMS+lQVxDfLZBFXewPE4A+PVRYVBAgj3gCn2PespCEAqQ8JXu24rOcfTbNWD0cp4NBqjy+eAOtXC42T6DOnN9ikGAF6D2ZxdMNK3Gri6Fc/B9K3GdhcM+ehSeAvGYM7WHrydXHMnciwTKF6461ah1coboIoDCsxtQaN7H8Dhm/NcvYxBl4UcQ== 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: The softlockup still occurs in get_swap_pages() under memory pressure. 64 CPU cores, 64GB memory, and 28 zram devices, the disksize of each zram device is 50MB with same priority as si. Use the stress-ng tool to increase memory pressure, causing the system to oom frequently. The plist_for_each_entry_safe() loops in get_swap_pages() could reach tens of thousands of times to find available space (extreme case: cond_resched() is not called in scan_swap_map_slots()). Let's add cond_resched() into get_swap_pages() when failed to find available space to avoid softlockup. Signed-off-by: Longlong Xia --- mm/swapfile.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/swapfile.c b/mm/swapfile.c index 908a529bca12..4fa440e87cd6 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -1100,6 +1100,7 @@ int get_swap_pages(int n_goal, swp_entry_t swp_entries[], int entry_size) goto check_out; pr_debug("scan_swap_map of si %d failed to find offset\n", si->type); + cond_resched(); spin_lock(&swap_avail_lock); nextsi: -- 2.25.1