From patchwork Mon Aug 3 13:36:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xianting Tian X-Patchwork-Id: 11698091 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5657A1575 for ; Mon, 3 Aug 2020 13:37:06 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 1A5BB20775 for ; Mon, 3 Aug 2020 13:37:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=126.com header.i=@126.com header.b="Ozwq4TKA" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A5BB20775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=126.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 2275E8D00FB; Mon, 3 Aug 2020 09:37:04 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 1D78D8D0081; Mon, 3 Aug 2020 09:37:04 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0ED388D00FB; Mon, 3 Aug 2020 09:37:04 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0118.hostedemail.com [216.40.44.118]) by kanga.kvack.org (Postfix) with ESMTP id EE5008D0081 for ; Mon, 3 Aug 2020 09:37:03 -0400 (EDT) Received: from smtpin14.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id A8D03180AD806 for ; Mon, 3 Aug 2020 13:37:03 +0000 (UTC) X-FDA: 77109358326.14.rest15_091831126f9e Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin14.hostedemail.com (Postfix) with ESMTP id 801BB1822987A for ; Mon, 3 Aug 2020 13:37:03 +0000 (UTC) X-Spam-Summary: 1,0,0,3d65f1289ed9c516,d41d8cd98f00b204,xianting_tian@126.com,,RULES_HIT:41:355:379:541:582:800:960:973:988:989:1152:1260:1345:1437:1534:1540:1711:1730:1747:1777:1792:2393:2553:2559:2562:2899:3138:3139:3140:3141:3142:3352:3865:3866:3867:3868:3870:3871:3872:4384:5007:6117:6653:7901:7903:10004:11026:11334:11658:11914:12043:12297:12555:12895:13069:13161:13229:13311:13357:14096:14181:14384:14394:14721:21080:21324:21451:21627:30054:30090,0,RBL:220.181.15.112:@126.com:.lbl8.mailshell.net-62.50.2.100 66.100.201.100;04y8gwnb3mbku9ki5j4qh3bt8ogyiop4tgonc6kys8fb7i3w1xbun55kmszbf1c.6secjxo99fpupk8fogk96yqeuzqx6nqjim6razxak4rya7rqgjjhzrp1cpxs1bq.a-lbl8.mailshell.net-223.238.255.100,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fp,MSBL:0,DNSBL:neutral,Custom_rules:0:0:0,LFtime:24,LUA_SUMMARY:none X-HE-Tag: rest15_091831126f9e X-Filterd-Recvd-Size: 2427 Received: from m15112.mail.126.com (m15112.mail.126.com [220.181.15.112]) by imf38.hostedemail.com (Postfix) with ESMTP for ; Mon, 3 Aug 2020 13:37:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-Id; bh=GF5NkU1Owa5eZCpSTh UERjt0ONcFG8WTLeHpFY0eUC8=; b=Ozwq4TKAKvCRm+AUmeZy2NaxuxjEyRjHkF XRwO05xF6XV0aQtCH4SWIrNxbkiLGWH63LZS8lQfIpYl7viyVarXzAW4rgQAvG9T wSPKtwQKfQNHRz6d474ff8EaOHxyPUZ3f5rlx2AOXmO2t5+MywOiek743sEBWScJ /y3/nC3qs= Received: from 192.168.137.249 (unknown [112.10.84.202]) by smtp2 (Coremail) with SMTP id DMmowADXsfLwEihfNwDqFw--.30116S3; Mon, 03 Aug 2020 21:36:49 +0800 (CST) From: Xianting Tian To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] mm: use blk_io_schedule() for avoiding task hung in sync io Date: Mon, 3 Aug 2020 09:36:47 -0400 Message-Id: <1596461807-21087-1-git-send-email-xianting_tian@126.com> X-Mailer: git-send-email 1.8.3.1 X-CM-TRANSID: DMmowADXsfLwEihfNwDqFw--.30116S3 X-Coremail-Antispam: 1Uf129KBjvdXoWrZw4rKr1ktFy8Aw4xXr4kXrb_yoWfuwcEk3 yxKrna9w1YkF97ur13Cay3J34UKayI9F4UZF4jgFy5t34Iva4UXF1xtFs3XF1fX3yjvayD GFZ0yFWUAr42gjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU8WE_tUUUUU== X-Originating-IP: [112.10.84.202] X-CM-SenderInfo: h0ld03plqjs3xldqqiyswou0bp/1tbiHhR1pF16HThDMwAAsp X-Rspamd-Queue-Id: 801BB1822987A X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam04 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: swap_readpage() does the sync io for one page, the io is not big, normally, the io can be finished quickly, but it may take long time or wait forever in case of io failure or discard. This patch is to use blk_io_schedule() instead of io_schedule() to avoid task hung and crash(when set /proc/sys/kernel/hung_task_panic) in case of above exception occur. We have prevented task hung in submit_bio_wait(), blk_execute_rq() and __blkdev_direct_IO(). Signed-off-by: Xianting Tian --- mm/page_io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/page_io.c b/mm/page_io.c index e8726f3..5d52f7b 100644 --- a/mm/page_io.c +++ b/mm/page_io.c @@ -424,7 +424,7 @@ int swap_readpage(struct page *page, bool synchronous) break; if (!blk_poll(disk->queue, qc, true)) - io_schedule(); + blk_io_schedule(); } __set_current_state(TASK_RUNNING); bio_put(bio);