Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp1533516ybx; Sat, 2 Nov 2019 01:26:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqxRb0fddW2IPDLp6Gn2jZ/HNZF8/a8qiuvoWWtChHu2+wfBivRZ9ewIjIQwYe+O4pfPFaaU X-Received: by 2002:a17:906:a986:: with SMTP id jr6mr13901259ejb.158.1572683182697; Sat, 02 Nov 2019 01:26:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572683182; cv=none; d=google.com; s=arc-20160816; b=Z3t1N6hCFYP4j3qUKZVv0n4XeuGcuHQyCQHf7XuW5VxtlUb7pUl0Pq5AcfrgaOCu0p sXPJe1GjaQ4NhlLgNR5TCrFdl56Bae5mEnPBEgDdssKuJoNtHyJO5chwevQ+VgzE2imv POqpU7ndrWc8BiJlq68KSzNevcBKSpueIKOKaBmljr7eXqyrm9VTok+N8egYL0YipJec Ju1LA6fraelh8gb1L+Q7zINwGt6IaNMqUdbzHUP8pDYsLrKUT/QAJOXYEu4mCU0zAPD3 Px/ag2NGNX1MFsxQIq0IVMiMSnPuxc5tyIurKxn+k78NoqPwZSmIcFQ3HyVqDFKFNeFs GRSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=E2WI7Ho+VtFhvJJiGOS5bJXWh4SUKz/WctqjZIPdB6A=; b=ZUxcVqOFzp2/CzrTChqtw75VSyGTDao479mlPnuF9k/NcSgrgjiU0ROjfDY/GLXXX0 XnYGZOdJmCVVrMD60uudOkk/yDVSQjhAiT3kORGZb4fuxBAN8rQAxihf/aBos1lGjcxV DF4pvpxObny4NmNUWrhTO1NUv2NQ0dqOV5IuoxbyvC4W1MeM+8fYF7ViO4AnADqWrFNd XPizo2uDYzq7w1SgMqtrsTA+aze7Vhu8K+b0hHz5TG8mv3dnUOagNRQtEPgv/k7btqjc mSXvo2D+Kgk0ms7yj5+bRA/i+zT2evuT775jD98Z+r7WugjHRfF88vy1e0fAr9OE2HkW ZTcA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l47si2601441edb.111.2019.11.02.01.25.23; Sat, 02 Nov 2019 01:26:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727544AbfKBH40 (ORCPT + 99 others); Sat, 2 Nov 2019 03:56:26 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:44504 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726586AbfKBH4Z (ORCPT ); Sat, 2 Nov 2019 03:56:25 -0400 Received: from DGGEMS411-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id 4BFCA82D5A7DEE08594F; Sat, 2 Nov 2019 15:56:23 +0800 (CST) Received: from localhost (10.133.213.239) by DGGEMS411-HUB.china.huawei.com (10.3.19.211) with Microsoft SMTP Server id 14.3.439.0; Sat, 2 Nov 2019 15:56:17 +0800 From: YueHaibing To: , CC: , , YueHaibing Subject: [PATCH -next] io-wq: using kfree_rcu() to simplify the code Date: Sat, 2 Nov 2019 15:55:01 +0800 Message-ID: <20191102075501.38972-1-yuehaibing@huawei.com> X-Mailer: git-send-email 2.10.2.windows.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.133.213.239] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The callback function of call_rcu() just calls a kfree(), so can use kfree_rcu() instead of call_rcu() + callback function. Signed-off-by: YueHaibing --- fs/io-wq.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/fs/io-wq.c b/fs/io-wq.c index 652b8ba..3bbab2c 100644 --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -102,13 +102,6 @@ struct io_wq { struct completion done; }; -static void io_wq_free_worker(struct rcu_head *head) -{ - struct io_worker *worker = container_of(head, struct io_worker, rcu); - - kfree(worker); -} - static bool io_worker_get(struct io_worker *worker) { return refcount_inc_not_zero(&worker->ref); @@ -194,7 +187,7 @@ static void io_worker_exit(struct io_worker *worker) if (all_done && refcount_dec_and_test(&wqe->wq->refs)) complete(&wqe->wq->done); - call_rcu(&worker->rcu, io_wq_free_worker); + kfree_rcu(worker, rcu); } static void io_worker_start(struct io_wqe *wqe, struct io_worker *worker) -- 2.7.4