Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934387AbaDIVjp (ORCPT ); Wed, 9 Apr 2014 17:39:45 -0400 Received: from mail-la0-f48.google.com ([209.85.215.48]:40135 "EHLO mail-la0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933782AbaDIVjn (ORCPT ); Wed, 9 Apr 2014 17:39:43 -0400 MIME-Version: 1.0 In-Reply-To: <20140409200836.GE26782@laptop.programming.kicks-ass.net> References: <20140409194742.GC26782@laptop.programming.kicks-ass.net> <20140409200836.GE26782@laptop.programming.kicks-ass.net> Date: Wed, 9 Apr 2014 14:39:42 -0700 Message-ID: Subject: Re: current->sched_class->yield_task is NULL, any hint? From: Lin Ming To: Peter Zijlstra Cc: "linux-arm-kernel@lists.infradead.org" , lkml Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 9, 2014 at 1:08 PM, Peter Zijlstra wrote: > 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 :-) It's our internal code. > > In any case, it wrongly passes a GFP_WAIT along to netlink_broadcast. I'll fix it. Thanks very much. -- 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/