Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964940AbaDIUIj (ORCPT ); Wed, 9 Apr 2014 16:08:39 -0400 Received: from merlin.infradead.org ([205.233.59.134]:54382 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933342AbaDIUIi (ORCPT ); Wed, 9 Apr 2014 16:08:38 -0400 Date: Wed, 9 Apr 2014 22:08:36 +0200 From: Peter Zijlstra To: Lin Ming Cc: "linux-arm-kernel@lists.infradead.org" , lkml Subject: Re: current->sched_class->yield_task is NULL, any hint? Message-ID: <20140409200836.GE26782@laptop.programming.kicks-ass.net> References: <20140409194742.GC26782@laptop.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140409194742.GC26782@laptop.programming.kicks-ass.net> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 09, 2014 at 09:47:42PM +0200, Peter Zijlstra wrote: > On Wed, Apr 09, 2014 at 10:43:32AM -0700, Lin Ming wrote: > > [12890.586996] [] (sys_sched_yield+0x0/0x90) from [] (yield+0x2c/0x30) > > [12890.594779] r5:c18f4000 r4:00000000 > > [12890.598258] [] (yield+0x0/0x30) from [] (netlink_broadcast_filtered+0x3ec/0x400) > > [12890.607170] [] (netlink_broadcast_filtered+0x0/0x400) from [] (netlink_broadcast+0x28/0x30) > > [12890.616998] [] (netlink_broadcast+0x0/0x30) from [] (msg_netlink_broadcast+0xa8/0xb4) > > [12890.626337] [] (msg_netlink_broadcast+0x0/0xb4) from [] (br_igmp_send_netlink_msg+0xb0/0xbc) > > [12890.636256] [] (br_igmp_send_netlink_msg+0x0/0xbc) from [] (br_igmp_mc_fdb_add+0x424/0x6c0) > > [12890.646084] [] (br_igmp_mc_fdb_add+0x0/0x6c0) from [] (br_igmp_process_v3+0x4a8/0x518) > > [12890.655515] [] (br_igmp_process_v3+0x0/0x518) from [] (br_igmp_snooping+0x36c/0x3e4) > > [12890.664762] [] (br_igmp_snooping+0x0/0x3e4) from [] (br_igmp_mc_forward+0x7c/0x270) > > [12890.673918] [] (br_igmp_mc_forward+0x0/0x270) from [] (br_handle_frame_finish+0x160/0x358) > > [12890.683654] [] (br_handle_frame_finish+0x0/0x358) from [] (br_nf_pre_routing_finish+0x348/0x364) > > [12890.693940] [] (br_nf_pre_routing_finish+0x0/0x364) from [] (br_nf_pre_routing+0x5e0/0x630) > > [12890.703767] r7:c2e5c000 r6:00000000 r5:d71899c0 r4:da6ed0d0 > > [12890.709291] [] (br_nf_pre_routing+0x0/0x630) from [] (nf_iterate+0x68/0xa4) > > [12890.717746] [] (nf_iterate+0x0/0xa4) from [] (nf_hook_slow+0x68/0x124) > > [12890.725803] [] (nf_hook_slow+0x0/0x124) from [] (br_handle_frame+0x294/0x2e4) > > [12890.734471] [] (br_handle_frame+0x0/0x2e4) from [] (__netif_receive_skb+0x3b0/0x514) > > [12890.743718] [] (__netif_receive_skb+0x0/0x514) from [] (netif_receive_skb+0xa8/0xbc) > > [12890.752966] [] (netif_receive_skb+0x0/0xbc) from [] (napi_skb_finish+0x34/0x50) > > [12890.761756] r5:d71899c0 r4:00000003 > > [12890.765235] [] (napi_skb_finish+0x0/0x50) from [] (napi_gro_receive+0xfc/0x100) > > [12890.774056] r4:00000000 r3:00000000 > > [12890.777566] [] (napi_gro_receive+0x0/0x100) from [] (nss_gmac_receive+0x48/0x4c [qca_nss_gmac]) > > [12890.787759] [] (nss_gmac_receive+0x0/0x4c [qca_nss_gmac]) from [] (nss_core_handle_napi+0x440/0xa78 [qca_nss_drv]) > > [12890.799510] r5:d71899c0 r4:bf18e410 > > [12890.802989] [] (nss_core_handle_napi+0x0/0xa78 [qca_nss_drv]) from [] (net_rx_action+0x84/0x174) > > [12890.813244] [] (net_rx_action+0x0/0x174) from [] (__do_softirq+0xbc/0x160) > > [12890.821637] [] (__do_softirq+0x0/0x160) from [] (irq_exit+0x58/0xa4) > > [12890.829542] [] (irq_exit+0x0/0xa4) from [] (handle_IRQ+0x8c/0xb8) > > Look at that, its calling yield() from a non-preemptible context as > well. > > That code is full of fail. *phew* none of that br_igmp_* muck lives in any kernel tree near me so I can stop worrying :-) In any case, it wrongly passes a GFP_WAIT along to netlink_broadcast. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/