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 X-Spam-Level: X-Spam-Status: No, score=-3.5 required=3.0 tests=FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4C1B5C2D0CF for ; Tue, 24 Dec 2019 11:54:33 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D5B2A2053B for ; Tue, 24 Dec 2019 11:54:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D5B2A2053B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=sina.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 3EDC28E0005; Tue, 24 Dec 2019 06:54:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 39C488E0001; Tue, 24 Dec 2019 06:54:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2B33A8E0005; Tue, 24 Dec 2019 06:54:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0146.hostedemail.com [216.40.44.146]) by kanga.kvack.org (Postfix) with ESMTP id 1215B8E0001 for ; Tue, 24 Dec 2019 06:54:32 -0500 (EST) Received: from smtpin06.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with SMTP id B9F59180AD817 for ; Tue, 24 Dec 2019 11:54:31 +0000 (UTC) X-FDA: 76299877542.06.van05_447cb3e0d9d24 X-HE-Tag: van05_447cb3e0d9d24 X-Filterd-Recvd-Size: 2054 Received: from r3-17.sinamail.sina.com.cn (r3-17.sinamail.sina.com.cn [202.108.3.17]) by imf47.hostedemail.com (Postfix) with SMTP for ; Tue, 24 Dec 2019 11:54:30 +0000 (UTC) Received: from unknown (HELO localhost.localdomain)([221.219.1.122]) by sina.com with ESMTP id 5E01FC710000F932; Tue, 24 Dec 2019 19:54:27 +0800 (CST) X-Sender: hdanton@sina.com X-Auth-ID: hdanton@sina.com X-SMAIL-MID: 92073049284640 From: Hillf Danton To: Jens Axboe Cc: io-uring@vger.kernel.org, viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm , Hillf Danton Subject: Re: [RFC PATCH] io-wq: kill cpu hog worker Date: Tue, 24 Dec 2019 19:54:15 +0800 Message-Id: <20191224115415.1360-1-hdanton@sina.com> In-Reply-To: <20191223024145.11580-1-hdanton@sina.com> References: <20191223024145.11580-1-hdanton@sina.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.062109, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, 23 Dec 2019 08:15:00 -0700 Jens Axboe wrote: >=20 > On 12/22/19 7:41 PM, Hillf Danton wrote: > >=20 > > Reschedule the current IO worker if it is becoming a cpu hog. >=20 > Might make more sense to put this a bit earlier, to avoid the > awkward lock juggle. In theory it shouldn't make a difference > if we do it _before_ doing new work, or _after_ doing work. We > should only be rescheduling if it's running for quite a while. >=20 > How about putting it after the flushing of signals instead? All right, thanks. Hillf --->8--- From: Hillf Danton Subject: [RFC PATCH] io-wq: kill cpu hog worker Reschedule the current IO worker to cut the risk that it is becoming a cpu hog. Signed-off-by: Hillf Danton --- --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -432,6 +432,8 @@ next: if (signal_pending(current)) flush_signals(current); =20 + cond_resched(); + spin_lock_irq(&worker->lock); worker->cur_work =3D work; spin_unlock_irq(&worker->lock); --