From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matteo Croce Subject: Re: skb allocation from interrupt handler? Date: Wed, 09 Aug 2017 00:29:15 +0200 Message-ID: <1502231355.23698.5.camel@redhat.com> References: <598A3890.80705@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit To: Murali Karicheri , "open list:TI NETCP ETHERNET DRIVER" Return-path: Received: from mx1.redhat.com ([209.132.183.28]:32986 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751970AbdHHW3S (ORCPT ); Tue, 8 Aug 2017 18:29:18 -0400 In-Reply-To: <598A3890.80705@ti.com> Sender: netdev-owner@vger.kernel.org List-ID: Il giorno mar, 08/08/2017 alle 18.17 -0400, Murali Karicheri ha scritto: > Is there an skb_alloc function that can be used from interrupt > handler? Looks like netdev_alloc_skb() > can't be used since I see following trace with kernel hack debug > options enabled. > > [ 652.481713] [] (unwind_backtrace) from [] > (show_stack+0x10/0x14) > [ 652.481725] [] (show_stack) from [] > (dump_stack+0x98/0xc4) > [ 652.481736] [] (dump_stack) from [] > (___might_sleep+0x1b8/0x2a4) > [ 652.481746] [] (___might_sleep) from [] > (rt_spin_lock+0x24/0x5c) > [ 652.481755] [] (rt_spin_lock) from [] > (__netdev_alloc_skb+0xd0/0x254) > [ 652.481774] [] (__netdev_alloc_skb) from [] > (emac_rx_hardirq+0x374/0x554 [prueth]) > [ 652.481793] [] (emac_rx_hardirq [prueth]) from > [] (__handle_irq_event_percpu+0x9c/0x128) > > This is running under RT kernel off 4.9.y > netdev_alloc_skb() passes GFP_ATOMIC to alloc_skb() so it should work in an interrupt handler too. -- Matteo Croce per aspera ad upstream