Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1348008yba; Wed, 24 Apr 2019 20:43:11 -0700 (PDT) X-Google-Smtp-Source: APXvYqyW0mbLH+8Rpvb/eflyG3af+wdNSW3OhaGxqRLPnDDjVPpELJkAUv/HkdLFke5TlVW5Zy+z X-Received: by 2002:a17:902:76c5:: with SMTP id j5mr35763519plt.337.1556163791826; Wed, 24 Apr 2019 20:43:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556163791; cv=none; d=google.com; s=arc-20160816; b=lA6bMsJkOxx3xWxomo7tabo0/bQir1IM+GLRTgWwsWqvF85lSFStqqKZ24poRmZ2lL bpMcBNxtojhkBF48uFTXiaF4+JwHWczTAnc5HiSw2ewVtOFca58PfxzXrjmQJm4A1BtZ /o9AWvXm6k/Rpd/57EcbsUsR+72kTXiQrRMvy9jYafph709CQCbXMaodZl81hTeVfw11 fGe7VsJgLsqSLCtnEsRooAB+OyIYWCOhihwmay7q13TnN8l0ZeGidEVjogcnGSQkF+gi JBA8DLdGoGtcHL1caQtIZNLsExLvmxDs+gdlIltmjDkKAX2GL2H0muS4nOXgTrYYK+lE xZUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=jsfKEcfyUmahaqvODYozKi8wNT4QS91v0HJD4LHwaZU=; b=anhpVU2mCVkpAC6AxCQWzj2iR9Fi4ZhJ6Rthae/jEV9YYD5FkEK49lWAgMIcW+1NvT RyV8X10GgkGu0HRZFEyvfWfkCiHH/0ngQEqdg9GBd9P5sIlqGmO62gTK/KN04mlLPQz2 fH8HRvfamF34z1o/CUKl/+8P1Lo1/kCVeavZu3zuc4C7csuNOL4LPFPBC86Fl3fBc989 /W886sX4gKEKn8sIb6z7MgR0ehOSLHxK3AeqTbOGbwV0Ql+k0GjemT8JFyAo/N+agKR1 EKSnZFObr2fyfl1HYtg/EkZYmmTvpTTJtH99KIwwHVPd8+58GVxOuMam1tBL9R/0Qzer ePIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=LCu03CxT; 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 o90si21070027pfi.161.2019.04.24.20.42.54; Wed, 24 Apr 2019 20:43:11 -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; dkim=pass header.i=@kernel.org header.s=default header.b=LCu03CxT; 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 S2391859AbfDXRo4 (ORCPT + 99 others); Wed, 24 Apr 2019 13:44:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:32804 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391272AbfDXRdz (ORCPT ); Wed, 24 Apr 2019 13:33:55 -0400 Received: from localhost (62-193-50-229.as16211.net [62.193.50.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 76736218B0; Wed, 24 Apr 2019 17:33:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556127235; bh=4ce9FR3UP4EbttoMWeSTUvWmZNf/12yC4IqxtrtXFuk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LCu03CxTI2HM75K4tZk7C20SF9d8gBAhMzKCUsGBauXWXuIntfsOSLcH7uab/Aj4d IYUChETEgQaHwKPIERriDfsQSKs7bbdMdrRA5rPrf2u4nv1Gq4hh/Q2CLJANBcnU05 Be8gBSv0nCVejskcG6kxHcsuJJbJ/iR3LlSTTYEQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ido Schimmel , Semion Lisyansky , Jiri Pirko , "David S. Miller" Subject: [PATCH 5.0 017/115] mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw ordered workqueue Date: Wed, 24 Apr 2019 19:09:13 +0200 Message-Id: <20190424170926.050218373@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190424170924.797924502@linuxfoundation.org> References: <20190424170924.797924502@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ido Schimmel [ Upstream commit 4af0699782e2cc7d0d89db9eb6f8844dd3df82dc ] The ordered workqueue is used to offload various objects such as routes and neighbours in the order they are notified. It should not be called as part of memory reclaim path, so remove the WQ_MEM_RECLAIM flag. This can also result in a warning [1], if a worker tries to flush a non-WQ_MEM_RECLAIM workqueue. [1] [97703.542861] workqueue: WQ_MEM_RECLAIM mlxsw_core_ordered:mlxsw_sp_router_fib6_event_work [mlxsw_spectrum] is flushing !WQ_MEM_RECLAIM events:rht_deferred_worker [97703.542884] WARNING: CPU: 1 PID: 32492 at kernel/workqueue.c:2605 check_flush_dependency+0xb5/0x130 ... [97703.542988] Hardware name: Mellanox Technologies Ltd. MSN3700C/VMOD0008, BIOS 5.11 10/10/2018 [97703.543049] Workqueue: mlxsw_core_ordered mlxsw_sp_router_fib6_event_work [mlxsw_spectrum] [97703.543061] RIP: 0010:check_flush_dependency+0xb5/0x130 ... [97703.543071] RSP: 0018:ffffb3f08137bc00 EFLAGS: 00010086 [97703.543076] RAX: 0000000000000000 RBX: ffff96e07740ae00 RCX: 0000000000000000 [97703.543080] RDX: 0000000000000094 RSI: ffffffff82dc1934 RDI: 0000000000000046 [97703.543084] RBP: ffffb3f08137bc20 R08: ffffffff82dc18a0 R09: 00000000000225c0 [97703.543087] R10: 0000000000000000 R11: 0000000000007eec R12: ffffffff816e4ee0 [97703.543091] R13: ffff96e06f6a5c00 R14: ffff96e077ba7700 R15: ffffffff812ab0c0 [97703.543097] FS: 0000000000000000(0000) GS:ffff96e077a80000(0000) knlGS:0000000000000000 [97703.543101] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [97703.543104] CR2: 00007f8cd135b280 CR3: 00000001e860e003 CR4: 00000000003606e0 [97703.543109] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [97703.543112] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [97703.543115] Call Trace: [97703.543129] __flush_work+0xbd/0x1e0 [97703.543137] ? __cancel_work_timer+0x136/0x1b0 [97703.543145] ? pwq_dec_nr_in_flight+0x49/0xa0 [97703.543154] __cancel_work_timer+0x136/0x1b0 [97703.543175] ? mlxsw_reg_trans_bulk_wait+0x145/0x400 [mlxsw_core] [97703.543184] cancel_work_sync+0x10/0x20 [97703.543191] rhashtable_free_and_destroy+0x23/0x140 [97703.543198] rhashtable_destroy+0xd/0x10 [97703.543254] mlxsw_sp_fib_destroy+0xb1/0xf0 [mlxsw_spectrum] [97703.543310] mlxsw_sp_vr_put+0xa8/0xc0 [mlxsw_spectrum] [97703.543364] mlxsw_sp_fib_node_put+0xbf/0x140 [mlxsw_spectrum] [97703.543418] ? mlxsw_sp_fib6_entry_destroy+0xe8/0x110 [mlxsw_spectrum] [97703.543475] mlxsw_sp_router_fib6_event_work+0x6cd/0x7f0 [mlxsw_spectrum] [97703.543484] process_one_work+0x1fd/0x400 [97703.543493] worker_thread+0x34/0x410 [97703.543500] kthread+0x121/0x140 [97703.543507] ? process_one_work+0x400/0x400 [97703.543512] ? kthread_park+0x90/0x90 [97703.543523] ret_from_fork+0x35/0x40 Fixes: a3832b31898f ("mlxsw: core: Create an ordered workqueue for FIB offload") Signed-off-by: Ido Schimmel Reported-by: Semion Lisyansky Acked-by: Jiri Pirko Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/mellanox/mlxsw/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/net/ethernet/mellanox/mlxsw/core.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core.c @@ -1915,7 +1915,7 @@ static int __init mlxsw_core_module_init mlxsw_wq = alloc_workqueue(mlxsw_core_driver_name, WQ_MEM_RECLAIM, 0); if (!mlxsw_wq) return -ENOMEM; - mlxsw_owq = alloc_ordered_workqueue("%s_ordered", WQ_MEM_RECLAIM, + mlxsw_owq = alloc_ordered_workqueue("%s_ordered", 0, mlxsw_core_driver_name); if (!mlxsw_owq) { err = -ENOMEM;