From mboxrd@z Thu Jan 1 00:00:00 1970 From: Or Gerlitz Subject: Re: [PATCH net] net/ipv4: Use non-atomic allocation of udp offloads structure instance Date: Wed, 29 Jan 2014 18:42:58 +0200 Message-ID: <52E92F92.9080307@mellanox.com> References: <1391011739-8597-1-git-send-email-ogerlitz@mellanox.com> <1391012411.28432.55.camel@edumazet-glaptop2.roam.corp.google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: , , , Shlomo Pongratz To: Eric Dumazet Return-path: Received: from eu1sys200aog114.obsmtp.com ([207.126.144.137]:46769 "EHLO eu1sys200aog114.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752691AbaA2QnG (ORCPT ); Wed, 29 Jan 2014 11:43:06 -0500 In-Reply-To: <1391012411.28432.55.camel@edumazet-glaptop2.roam.corp.google.com> Sender: netdev-owner@vger.kernel.org List-ID: On 29/01/2014 18:20, Eric Dumazet wrote: > Could you also fix all the rcu_dereference() calls ? > > Try CONFIG_PROVE_RCU=y Thanks Eric, I tried this out now and got one alarm on udp_add_offload, which I will loop up how to fix, do you see anything else? =============================== [ INFO: suspicious RCU usage. ] 3.13.0+ #109 Not tainted ------------------------------- net/ipv4/udp_offload.c:112 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 4 locks held by kworker/2:2/2752: #0: (vxlan){.+.+.+}, at: [] process_one_work+0x15a/0x710 #1: ((&vxlan->sock_work)){+.+.+.}, at: [] process_one_work+0x15a/0x710 #2: (&(&vn->sock_lock)->rlock){+.+...}, at: [] vxlan_sock_add+0x323/0xb70 [vxlan] #3: (udp_offload_lock){+.+...}, at: [] udp_add_offload+0x41/0xd0 stack backtrace: CPU: 2 PID: 2752 Comm: kworker/2:2 Not tainted 3.13.0+ #109 Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2007 Workqueue: vxlan vxlan_sock_work [vxlan] 0000000000000001 ffff8800d1949bf8 ffffffff81528412 0000000000000002 ffff88021ef2e060 ffff8800d1949c28 ffffffff810b8373 ffff880218f59160 0000000000000000 ffffffff81aa3540 ffff88021dcaf000 ffff8800d1949c48 Call Trace: [] dump_stack+0x51/0x77 [] lockdep_rcu_suspicious+0x103/0x140 [] udp_add_offload+0xaa/0xd0 [] vxlan_sock_add+0x8ed/0xb70 [vxlan] [] ? vxlan_sock_add+0x2b7/0xb70 [vxlan] [] ? vxlan_xmit+0x650/0x650 [vxlan] [] ? vxlan_sock_add+0xb70/0xb70 [vxlan] [] ? delay_tsc+0x6c/0xd0 [] vxlan_sock_work+0x109/0x260 [vxlan] [] ? vxlan_sock_add+0xb70/0xb70 [vxlan] [] process_one_work+0x1d1/0x710 [] ? process_one_work+0x15a/0x710 [] worker_thread+0x122/0x400 [] ? process_one_work+0x710/0x710 [] kthread+0xde/0x100 [] ? __init_kthread_worker+0x70/0x70 [] ret_from_fork+0x7c/0xb0 [] ? __init_kthread_worker+0x70/0x70