From owner-freebsd-wireless@FreeBSD.ORG Sat Sep 10 16:48:27 2011 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 BC99A1065673; Sat, 10 Sep 2011 16:48:27 +0000 (UTC) (envelope-from bpurgar@gmail.com) Received: from mail-pz0-f45.google.com (mail-pz0-f45.google.com [209.85.210.45]) by mx1.freebsd.org (Postfix) with ESMTP id 909698FC0A; Sat, 10 Sep 2011 16:48:27 +0000 (UTC) Received: by pzk33 with SMTP id 33so14739407pzk.18 for ; Sat, 10 Sep 2011 09:48:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=vSvuMzVGraO1fYai3SVvmDPxIWdeb88Q2s8zHFziamA=; b=RXLfdqM0UIqVTDp07PFFQiejA9pGKtdUczQEokPjPAD3sZh9z5TmOSzjHype7TDFi0 UyNu1gl7L4hIOKtVIsqUSKgvCjuwNUF6ybjI3vpL64mX5Gx1xacCh8x0Uj4fhmJ4d3/c YKrLUdhmuJDZxTdYQhI8apHc7Sv/VItueGRZA= MIME-Version: 1.0 Received: by 10.68.14.100 with SMTP id o4mr705941pbc.340.1315673306896; Sat, 10 Sep 2011 09:48:26 -0700 (PDT) Received: by 10.142.246.15 with HTTP; Sat, 10 Sep 2011 09:48:26 -0700 (PDT) In-Reply-To: References: Date: Sat, 10 Sep 2011 18:48:26 +0200 Message-ID: From: Berislav Purgar To: Adrian Chadd Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-wireless@freebsd.org Subject: Re: [patch] if_ath_tx: change interrupt scheduling deferral 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: Sat, 10 Sep 2011 16:48:27 -0000 On Sat, Sep 10, 2011 at 2:24 PM, Adrian Chadd wrote: > Hi, > > This patch changes how the deferred interrupt handling works. It's > likely I'll have to change things a bit before I commit it so I won't > be (yet) committing this. > It brings the interrupt handling in line with how ath9k and the > reference driver works. It eliminates a possible race condition: > > * ath_intr() and ath_hal_getisr() set AH5212(ah)->ah_intrTxqs, which > is a bitmap of TXQs which need servicing; > * The ath TX processes call txqactive() which check the above bitmap > and clear the bit that's been tested. > > The interrupt handler ath_intr() can be called during the TX > completion task, so I think it's possible that the interrupt could > occur, setting a TXQ bit, in between txqactive()'s "check bit X" and > "clear bit X". > My testing was only showing up one queue hang every 20-50 million > packets where the TXQ had active packets in it which were completed, > but hadn't been processed. > > I've only just begun testing this. I'll post updates as they're needed. > > Thanks, > > > Adrian > > _______________________________________________ > freebsd-wireless@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-wireless > To unsubscribe, send any mail to "freebsd-wireless-unsubscribe@freebsd.org > " > > Hello Adrian i tested new patches and can tell that works ok. i don't see any error messages in logfile for both cards (high trafic load). regarding to anything i tested (HT20/40) iperf shows TCP ~ 9.8MB/s UPD ~ 13MB/s on HT/20 . TCP ~ 13MB/s UDP ~ 19.7MB/s on HT/40 this results are when AR5416 act as iperf server and AR9280 as client, in another case results are worse. AR5416 works in sta and AR9280 in hostap mode. that's all for now :) Beri