[{"id":1763518,"web_url":"http://patchwork.ozlabs.org/comment/1763518/","msgid":"<1504631869.15310.46.camel@edumazet-glaptop3.roam.corp.google.com>","list_archive_url":null,"date":"2017-09-05T17:17:49","subject":"Re: [PATCH net v2] net: sched: don't use GFP_KERNEL under spin lock","submitter":{"id":2404,"url":"http://patchwork.ozlabs.org/api/people/2404/","name":"Eric Dumazet","email":"eric.dumazet@gmail.com"},"content":"On Tue, 2017-09-05 at 08:31 -0700, Jakub Kicinski wrote:\n> The new TC IDR code uses GFP_KERNEL under spin lock.  Which leads\n> to:\n> \n> [  582.621091] BUG: sleeping function called from invalid context at ../mm/slab.h:416\n> [  582.629721] in_atomic(): 1, irqs_disabled(): 0, pid: 3379, name: tc\n> [  582.636939] 2 locks held by tc/3379:\n> [  582.641049]  #0:  (rtnl_mutex){+.+.+.}, at: [<ffffffff910354ce>] rtnetlink_rcv_msg+0x92e/0x1400\n> [  582.650958]  #1:  (&(&tn->idrinfo->lock)->rlock){+.-.+.}, at: [<ffffffff9110a5e0>] tcf_idr_create+0x2f0/0x8e0\n> [  582.662217] Preemption disabled at:\n> [  582.662222] [<ffffffff9110a5e0>] tcf_idr_create+0x2f0/0x8e0\n> [  582.672592] CPU: 9 PID: 3379 Comm: tc Tainted: G        W       4.13.0-rc7-debug-00648-g43503a79b9f0 #287\n> [  582.683432] Hardware name: Dell Inc. PowerEdge R730/072T6D, BIOS 2.3.4 11/08/2016\n> [  582.691937] Call Trace:\n> ...\n> [  582.742460]  kmem_cache_alloc+0x286/0x540\n> [  582.747055]  radix_tree_node_alloc.constprop.6+0x4a/0x450\n> [  582.753209]  idr_get_free_cmn+0x627/0xf80\n> ...\n> [  582.815525]  idr_alloc_cmn+0x1a8/0x270\n> ...\n> [  582.833804]  tcf_idr_create+0x31b/0x8e0\n> ...\n> \n> Try to preallocate the memory with idr_prealloc(GFP_KERNEL)\n> (as suggested by Eric Dumazet), and change the allocation \n> flags under spin lock.\n> \n> Fixes: 65a206c01e8e (\"net/sched: Change act_api and act_xxx modules to use IDR\")\n> Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>\n> Reviewed-by: Simon Horman <simon.horman@netronome.com>\n> ---\n\n\nAcked-by: Eric Dumazet <edumazet@google.com>\n\nNot related to your patch, but it looks like idr_preload() has a bug\nadded in 4.11.  I will send a fix to lkml.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"UW5DzuMZ\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xmthP10DLz9sNq\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed,  6 Sep 2017 03:17:57 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752153AbdIERRy (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 5 Sep 2017 13:17:54 -0400","from mail-pg0-f65.google.com ([74.125.83.65]:33420 \"EHLO\n\tmail-pg0-f65.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751959AbdIERRw (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 5 Sep 2017 13:17:52 -0400","by mail-pg0-f65.google.com with SMTP id m9so2279463pgd.0\n\tfor <netdev@vger.kernel.org>; Tue, 05 Sep 2017 10:17:51 -0700 (PDT)","from ?IPv6:2620:15c:2c1:100:71d2:2db4:a10e:204e?\n\t([2620:15c:2c1:100:71d2:2db4:a10e:204e])\n\tby smtp.googlemail.com with ESMTPSA id\n\tc20sm2030866pfh.17.2017.09.05.10.17.49\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 05 Sep 2017 10:17:50 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=message-id:subject:from:to:cc:date:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=ntGk+5Hd3WbNopii1h4exCGH0L+fLtSGerLOLC6qFko=;\n\tb=UW5DzuMZaMOKz4L7nLg33S+3Q8ZkAhCvIlPtuJs/gPKUxqgkRxB7o4hgTBmZZIlspZ\n\to3wZ3SYvaCmVwwigr0p4XjOVxy+cEdKbjwgTypkQsigtS0y/DdP9p2zQiSaNxTARImyN\n\tHbn2hkP5QxekGXW4LrSty7llsmJgW/EGPrDPrHFZziw0Gnc24x1xa9TsX6KKervRGcNA\n\tixikuJ3JgFlu+HekgbsJTczqD/Dgs3hpYdkgVHVYE6NMa3iMWNqHYml0T1m+TM0FMDKE\n\tVdrb6uSgpFJ+vVYC3vldWf5hbf+h4P8guU0qN4StcEzuti2xeWl0udnYcO8P2vm6gdFh\n\t4Wog==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=ntGk+5Hd3WbNopii1h4exCGH0L+fLtSGerLOLC6qFko=;\n\tb=Oe8go3Rjz9IDSXpmNEfFcMvMnInrYd/U9ZD/4UdGsj6yCs39UyPtUfYwilViTk6fJC\n\t/PsVNZfvuzNugj+2aIC4ceDRgE0lwAGmLhP2/cXY+ysBujxYClj+5xPDu0/TBiotcFX4\n\twrNYuD24U+ul4C7NPOH4N4qBgyufFHtJYJPaFic8FS4CvjB1PGxuj3ADUdZAIf53O+bC\n\tdpH2bVq6+3aDn9L1+QvcNO741Zi0M7XBCiTNksITZ2h2+Co3FFNUlAfRGKLhmS7/Z1F+\n\tXlaGN+4jOqRcaaxHVmSVUPhQ+BPuD0u+ZylHIyr6HpvRp6d2wiE46R+K5HIu5h43nebm\n\tkTsw==","X-Gm-Message-State":"AHPjjUgz0e3Kg64Y+mnHTOkMd3kO810yQ/BkK4Rn+LYTnVLqztdjlKNC\n\t5hFsMwm1VjS0yg==","X-Google-Smtp-Source":"ADKCNb5/JdpMW0e1rsfQ4qyOl693XXZj4pk/ronmBDMrgrGPsOySygSk57c6QORRcY5BAzbpYWkDTg==","X-Received":"by 10.98.220.209 with SMTP id c78mr4478949pfl.37.1504631871593; \n\tTue, 05 Sep 2017 10:17:51 -0700 (PDT)","Message-ID":"<1504631869.15310.46.camel@edumazet-glaptop3.roam.corp.google.com>","Subject":"Re: [PATCH net v2] net: sched: don't use GFP_KERNEL under spin lock","From":"Eric Dumazet <eric.dumazet@gmail.com>","To":"Jakub Kicinski <jakub.kicinski@netronome.com>","Cc":"netdev@vger.kernel.org, jiri@resnulli.us,\n\tChris Mi <chrism@mellanox.com>, xiyou.wangcong@gmail.com,\n\tjhs@mojatatu.com, oss-drivers@netronome.com","Date":"Tue, 05 Sep 2017 10:17:49 -0700","In-Reply-To":"<20170905153123.13209-1-jakub.kicinski@netronome.com>","References":"<20170905153123.13209-1-jakub.kicinski@netronome.com>","Content-Type":"text/plain; charset=\"UTF-8\"","X-Mailer":"Evolution 3.10.4-0ubuntu2 ","Mime-Version":"1.0","Content-Transfer-Encoding":"7bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1763684,"web_url":"http://patchwork.ozlabs.org/comment/1763684/","msgid":"<20170905.144929.1991448009465623628.davem@davemloft.net>","list_archive_url":null,"date":"2017-09-05T21:49:29","subject":"Re: [PATCH net v2] net: sched: don't use GFP_KERNEL under spin lock","submitter":{"id":15,"url":"http://patchwork.ozlabs.org/api/people/15/","name":"David Miller","email":"davem@davemloft.net"},"content":"From: Jakub Kicinski <jakub.kicinski@netronome.com>\nDate: Tue,  5 Sep 2017 08:31:23 -0700\n\n> The new TC IDR code uses GFP_KERNEL under spin lock.  Which leads\n> to:\n ...\n> Try to preallocate the memory with idr_prealloc(GFP_KERNEL)\n> (as suggested by Eric Dumazet), and change the allocation \n> flags under spin lock.\n> \n> Fixes: 65a206c01e8e (\"net/sched: Change act_api and act_xxx modules to use IDR\")\n> Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>\n> Reviewed-by: Simon Horman <simon.horman@netronome.com>\n\nApplied, thanks.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xn0jp4VQ2z9s7f\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed,  6 Sep 2017 07:49:34 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753555AbdIEVtc (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 5 Sep 2017 17:49:32 -0400","from shards.monkeyblade.net ([184.105.139.130]:39878 \"EHLO\n\tshards.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1753350AbdIEVtb (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 5 Sep 2017 17:49:31 -0400","from localhost (74-93-104-98-Washington.hfc.comcastbusiness.net\n\t[74.93.104.98]) (using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(Client did not present a certificate)\n\t(Authenticated sender: davem-davemloft)\n\tby shards.monkeyblade.net (Postfix) with ESMTPSA id 12B1713DBD0CE;\n\tTue,  5 Sep 2017 14:49:31 -0700 (PDT)"],"Date":"Tue, 05 Sep 2017 14:49:29 -0700 (PDT)","Message-Id":"<20170905.144929.1991448009465623628.davem@davemloft.net>","To":"jakub.kicinski@netronome.com","Cc":"netdev@vger.kernel.org, eric.dumazet@gmail.com, jiri@resnulli.us,\n\tchrism@mellanox.com, xiyou.wangcong@gmail.com, jhs@mojatatu.com,\n\toss-drivers@netronome.com","Subject":"Re: [PATCH net v2] net: sched: don't use GFP_KERNEL under spin lock","From":"David Miller <davem@davemloft.net>","In-Reply-To":"<20170905153123.13209-1-jakub.kicinski@netronome.com>","References":"<20170905153123.13209-1-jakub.kicinski@netronome.com>","X-Mailer":"Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)","Mime-Version":"1.0","Content-Type":"Text/Plain; charset=us-ascii","Content-Transfer-Encoding":"7bit","X-Greylist":"Sender succeeded SMTP AUTH, not delayed by\n\tmilter-greylist-4.5.12 (shards.monkeyblade.net\n\t[149.20.54.216]); Tue, 05 Sep 2017 14:49:31 -0700 (PDT)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]