From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrick McHardy Subject: Re: fib_hash removal Date: Wed, 14 Mar 2007 23:49:56 +0100 Message-ID: <45F87C14.8010404@trash.net> References: <20070314.154414.97293857.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, Robert.Olsson@data.slu.se, tgr@suug.ch To: David Miller Return-path: Received: from stinky.trash.net ([213.144.137.162]:48815 "EHLO stinky.trash.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753317AbXCNWuE (ORCPT ); Wed, 14 Mar 2007 18:50:04 -0400 In-Reply-To: <20070314.154414.97293857.davem@davemloft.net> Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org David Miller wrote: > Another thing I'd like to accomplish is to kill off > fib_hash leaving just fib_trie. > > I can't do that until any and all functionality regressions > which may or may not exist in fib_trie vs. fib_hash are > discussed and resolved. > > So can we start composing a list of stuff to look into in this > thread so work can begin in that area? I noticed this a couple of times, but didn't manage to look into it yet: BUG: sleeping function called from invalid context at mm/slab.c:3032 in_atomic():1, irqs_disabled():0 no locks held by ip/14309. Call Trace: [] debug_show_held_locks+0x9/0xb [] __might_sleep+0xd9/0xdb [] __kmalloc_track_caller+0x67/0x10f [] __kzalloc+0x15/0x2f [] tnode_new+0x55/0x122 [] resize+0x616/0x966 [] nlmsg_notify+0x43/0x6f [] trie_rebalance+0x9c/0xef [] trie_leaf_remove+0x16a/0x1c2 [] fn_trie_delete+0x150/0x1fc [] inet_rtm_delroute+0x37/0x3e [] rtnetlink_rcv_msg+0x1ba/0x1dd [] netlink_run_queue+0x72/0xfa [] rtnetlink_rcv_msg+0x0/0x1dd [] rtnetlink_rcv+0x32/0x50 [] netlink_data_ready+0x1a/0x59 [] netlink_sendskb+0x29/0x44 [] netlink_unicast+0x1e5/0x204 [] netlink_sendmsg+0x270/0x285 [] sock_sendmsg+0xdf/0xf8 [] autoremove_wake_function+0x0/0x38 [] autoremove_wake_function+0x0/0x38 [] __handle_mm_fault+0x5f7/0xb09 [] __up_read+0x1a/0x83 [] move_addr_to_kernel+0x25/0x35 [] verify_iovec+0x4f/0x91 [] sys_sendmsg+0x1de/0x250 [] up_read+0x26/0x2a [] do_page_fault+0x407/0x765 [] _spin_unlock_irqrestore+0x4c/0x69 [] __up_write+0xf0/0xff [] trace_hardirqs_on_thunk+0x35/0x37 [] system_call+0x7e/0x83 Reproducable by running: for i in $(seq 0 255); do ip r a 1.$i.1.1/32 dev lo; done for i in $(seq 0 255); do ip r d 1.$i.1.1/32 dev lo; done