From owner-freebsd-virtualization@FreeBSD.ORG Tue Mar 6 20:06:42 2012 Return-Path: Delivered-To: freebsd-virtualization@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 005B0106566C for ; Tue, 6 Mar 2012 20:06:41 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 89E8F8FC15 for ; Tue, 6 Mar 2012 20:06:41 +0000 (UTC) Received: by werl4 with SMTP id l4so4384584wer.13 for ; Tue, 06 Mar 2012 12:06:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=aq8a/gyT5PrEFhaI9RhNAfYmy0lMjCysjZuH84NERTI=; b=Hta4DU0qBwTr+4HognDeK2M5C86zVWLNI8y3D+0o5u5GQKnZNJ0Hwh+CvHxn7XtSgE ghkMofmqt+luR604XQ470W+j9+HUE47w5hrObtGUoaIMAnFXcI+UeLdhMud84MLwRXBo HtSCvaRqHqcE8xFFgWBc763+u6qqUtF5IqLjGtO3qnrTAU2GgBo9ZJB2i3+NDU++n7zH tzd4zAyntRAOJeCP67R3LG+xHrk6TDQSRwwtSxkBoRbnH6pm+4MuHCvIn4uh6YIwVAZp x9vhitMX1vxFN7yuuc1LVtzUJ+x8GFDet5RW7R6WbN2dng8YnX2boYfXX9BB6++9dgZT REKw== MIME-Version: 1.0 Received: by 10.180.78.6 with SMTP id x6mr21092598wiw.18.1331064400529; Tue, 06 Mar 2012 12:06:40 -0800 (PST) Received: by 10.216.198.81 with HTTP; Tue, 6 Mar 2012 12:06:40 -0800 (PST) In-Reply-To: <201203062059.31736.zec@fer.hr> References: <201203062059.31736.zec@fer.hr> Date: Tue, 6 Mar 2012 12:06:40 -0800 Message-ID: From: Adrian Chadd To: Marko Zec Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Tue, 06 Mar 2012 23:09:55 +0000 Cc: freebsd-virtualization@freebsd.org Subject: Re: VIMAGE + kldload wlan + kldload wtap panic X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2012 20:06:42 -0000 Hi, The trouble here is that net80211 has quite a few other contexts that things are called from: * driver taskqueue; * net80211 taskqueue; * driver callouts; * net80211 callouts; * ioctls via net80211. That's in parallel with frame tx/rx and device ioctls. I don't personally have the time to go through net80211 and driver(s) at the moment to figure out what's going on. Since ath(4) does a bunch of frame processing in taskqueue context (and I'm trying to eliminate frame processing in _callout_ context, ew..) things can potentially get a bit hairy. Adrian On 6 March 2012 11:59, Marko Zec wrote: > On Tuesday 06 March 2012 20:49:38 Monthadar Al Jaberi wrote: >> I added VNET_DEBUG and noticed this warning (original scan_task code): >> >> CURVNET_SET() recursion in sosend() line 1350, prev in kern_kldload() >> =A0 =A0 0xfffffe0002202c40 -> 0xfffffe0002202c40 >> KDB: stack backtrace: >> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a >> kdb_backtrace() at kdb_backtrace+0x37 >> sosend() at sosend+0xbd >> clnt_vc_call() at clnt_vc_call+0x3e6 >> clnt_reconnect_call() at clnt_reconnect_call+0xf5 >> newnfs_request() at newnfs_request+0x9fb >> nfscl_request() at nfscl_request+0x72 >> nfsrpc_lookup() at nfsrpc_lookup+0x1be >> nfs_lookup() at nfs_lookup+0x297 >> VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x95 >> lookup() at lookup+0x3b8 >> namei() at namei+0x484 >> vn_open_cred() at vn_open_cred+0x1e2 >> link_elf_load_file() at link_elf_load_file+0xb3 >> linker_load_module() at linker_load_module+0x794 >> kern_kldload() at kern_kldload+0x145 >> sys_kldload() at sys_kldload+0x84 >> amd64_syscall() at amd64_syscall+0x39e >> Xfast_syscall() at Xfast_syscall+0xf7 > > You can safely ignore those. =A0Recursing on curvnet is harmless, but in = certain > cases can't be avoided. > > When injecting new CURVNET_SET() / CURVNET_RESTORE() points in the existi= ng > code, those warnings are here to help us becoming aware that we are setti= ng > curvnet in a function which was invoked with an already valid curvnet > context. > > Marko