From owner-freebsd-wireless@FreeBSD.ORG Fri Mar 16 23:46:17 2012 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27AEC106564A for ; Fri, 16 Mar 2012 23:46:17 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pz0-f54.google.com (mail-pz0-f54.google.com [209.85.210.54]) by mx1.freebsd.org (Postfix) with ESMTP id E6E128FC16 for ; Fri, 16 Mar 2012 23:46:16 +0000 (UTC) Received: by dald2 with SMTP id d2so7211398dal.13 for ; Fri, 16 Mar 2012 16:46:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=c/EY/JSmugHfclFV61/Al6NK1h7QcWT5x/fkF4Ya4E8=; b=bybAGy9JZy4xpUDmQSKAWPakg95EI1kPMDZIl00SPlJkZN9XW4uGyKbPH1t5EpNSDG yPmifgiu1vo+fEdWvLMoUBSLYintca8wsdoCbW6CqXDTrq7ofj6CenRdS5IYFrpFAeRg hNh7ShOx1muWP634bM2QKcBJDC9cAqWQ0CF/nyvfbw+QA2be7kMSNofo0DDakaDZKU4c PiVoxLsyIQwWI2c728Uq6Hwrp7hP585cGtZvr0Mlt8zDlso63EokpPq4D7/4qcWP4D74 RQdp9zzePsjEPORZ8eblk0z4CCGauWAgIncSQvEt9M3CCQUkjoI9K+YqsaoaFZ3t517O vvbg== MIME-Version: 1.0 Received: by 10.68.136.231 with SMTP id qd7mr18301556pbb.28.1331941576477; Fri, 16 Mar 2012 16:46:16 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.143.33.5 with HTTP; Fri, 16 Mar 2012 16:46:16 -0700 (PDT) In-Reply-To: References: <4F59DD98.8080905@unsane.co.uk> <4F5AA149.8000904@unsane.co.uk> <4F5BDF3C.8070605@unsane.co.uk> <4F5C0302.8090403@unsane.co.uk> <4F5CA45C.1010603@unsane.co.uk> <4F5E656F.4040004@unsane.co.uk> <4F5FC022.3040202@unsane.co.uk> Date: Fri, 16 Mar 2012 16:46:16 -0700 X-Google-Sender-Auth: LygmxNn2gASGGswFumVghHg6Xr8 Message-ID: From: Adrian Chadd To: Vincent Hoffman Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-wireless@freebsd.org Subject: Re: ath0 timeout was "Re: (more) bugs fixed in -HEAD, AP mode is now mostly (again) stable!" X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Mar 2012 23:46:17 -0000 http://www.freebsd.org/cgi/query-pr.cgi?pr=166190 adrian On 16 March 2012 16:23, Adrian Chadd wrote: > Hi, > > Yup, this seems like a concurrency issue with the driver. I'm trying > to debug exactly what's going on, but it seems that multiple > concurrent threads are doing TX and they're overlapping. I was under > the impression that all TX'ing via ath_start() would be serialised via > ifnet but apparently not. It's also possible some frames that are > legitimately going into the aggregation session (ie, they get a > sequence number and want to be ACKed) are being sent via the > ath_tx_raw() method, which bypasses the ifnet serialisation entirely. > > I was reproducing it at home and in the office within 30 seconds: > > * have chrome running with say, 15 tabs; > * kill -9 it so it dies very quickly; > * fire up the interface; > * fire up debug logging, which is REALLY VERBOSE btw; > * fire up chrome again; > * reload all the tabs at once; > * watch LOTS of concurrent IO go on from lots of multiple sending > threads/processes; > * then, see some buffers get "stuck" in the software queue, just like you found. > > Now, why the heck is that happening.. :) > > > Adrian