From patchwork Wed Mar 2 01:38:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: wangjianxing X-Patchwork-Id: 12765363 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 B1964C433F5 for ; Wed, 2 Mar 2022 01:38:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CAA538D0002; Tue, 1 Mar 2022 20:38:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C59BA8D0001; Tue, 1 Mar 2022 20:38:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B49CF8D0002; Tue, 1 Mar 2022 20:38:39 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.26]) by kanga.kvack.org (Postfix) with ESMTP id A35E28D0001 for ; Tue, 1 Mar 2022 20:38:39 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 7D7E724844 for ; Wed, 2 Mar 2022 01:38:39 +0000 (UTC) X-FDA: 79197736758.01.B3E66EC Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by imf29.hostedemail.com (Postfix) with ESMTP id B8778120005 for ; Wed, 2 Mar 2022 01:38:37 +0000 (UTC) Received: from localhost.localdomain (unknown [10.2.5.185]) by mail.loongson.cn (Coremail) with SMTP id AQAAf9AxWs2Tyh5iZ_UAAA--.3742S2; Wed, 02 Mar 2022 09:38:32 +0800 (CST) From: wangjianxing To: Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, wangjianxing Subject: [PATCH 1/1] mm/page_alloc: add scheduling point to free_unref_page_list Date: Tue, 1 Mar 2022 20:38:25 -0500 Message-Id: <20220302013825.2290315-1-wangjianxing@loongson.cn> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 X-CM-TRANSID: AQAAf9AxWs2Tyh5iZ_UAAA--.3742S2 X-Coremail-Antispam: 1UD129KBjvdXoWrZr4UXrWfGFWUKF4UJr43Jrb_yoWDtFX_Z3 47uw1xCr15KrW3CF1qyan3Ww4S934rCw4UWwsruFy5Ja4UtF1vvayIy3Z3WF18WrWxWay3 G34kAFZxCw17JjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJ3UbIYCTnIWIevJa73UjIFyTuYvj4RJUUUUUUUU X-CM-SenderInfo: pzdqwyxldq5xtqj6z05rqj20fqof0/ X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: B8778120005 X-Rspam-User: Authentication-Results: imf29.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf29.hostedemail.com: domain of wangjianxing@loongson.cn designates 114.242.206.163 as permitted sender) smtp.mailfrom=wangjianxing@loongson.cn X-Stat-Signature: estkafp644dsqkeo4e3tt5qwx8hf5t61 X-HE-Tag: 1646185117-190270 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: free a large list of pages maybe cause rcu_sched starved on non-preemptible kernels rcu: rcu_sched kthread starved for 5359 jiffies! g454793 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=19 [...] Call Trace: free_unref_page_list+0x19c/0x270 release_pages+0x3cc/0x498 tlb_flush_mmu_free+0x44/0x70 zap_pte_range+0x450/0x738 unmap_page_range+0x108/0x240 unmap_vmas+0x74/0xf0 unmap_region+0xb0/0x120 do_munmap+0x264/0x438 vm_munmap+0x58/0xa0 sys_munmap+0x10/0x20 syscall_common+0x24/0x38 Signed-off-by: wangjianxing Acked-by: Vlastimil Babka --- mm/page_alloc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 3589febc6..1b96421c8 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3479,6 +3479,9 @@ void free_unref_page_list(struct list_head *list) */ if (++batch_count == SWAP_CLUSTER_MAX) { local_unlock_irqrestore(&pagesets.lock, flags); + + cond_resched(); + batch_count = 0; local_lock_irqsave(&pagesets.lock, flags); }