From owner-freebsd-current@FreeBSD.ORG Fri Sep 23 15:29:03 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 68AB11065670; Fri, 23 Sep 2011 15:29:03 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-gx0-f182.google.com (mail-gx0-f182.google.com [209.85.161.182]) by mx1.freebsd.org (Postfix) with ESMTP id 1A02E8FC0A; Fri, 23 Sep 2011 15:29:02 +0000 (UTC) Received: by gxk26 with SMTP id 26so2489319gxk.13 for ; Fri, 23 Sep 2011 08:29:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type; bh=LkogNfKzKqbF5NNemCjmICu3TtZnNntlzTSJQzfJSlo=; b=YyoP1YDxUgxUs5nmEzvbaFjmHxoQPyaSjyw8Yfc3W08fi8hmmUlbdmVCvW4L7FswlF haV4CGczQsxVNKVDLtvw0l1HMeXMDxXlpuczEvh+9Pxvzef8ce9/1lKTGGyGGPW+VM7+ ESZ4ahJxCZGgfitMjKMGFvLzi6i2/nQeboJeU= MIME-Version: 1.0 Received: by 10.236.176.65 with SMTP id a41mr22899565yhm.72.1316791742513; Fri, 23 Sep 2011 08:29:02 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.236.111.42 with HTTP; Fri, 23 Sep 2011 08:29:02 -0700 (PDT) Date: Fri, 23 Sep 2011 23:29:02 +0800 X-Google-Sender-Auth: QGLawnFSGzKJ8BeM8NYeSVIX3KY Message-ID: From: Adrian Chadd To: Alexander Motin Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-current@freebsd.org Subject: ath / 802.11n performance issues and timer code X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Sep 2011 15:29:03 -0000 Hi Alexander, I've been looking at issues with 802.11n RX performance on these MIPS24k based MIPS boards. After doing a bit of digging, I discovered what looked like strange scheduler issues where the RX and TX completion schedulers weren't being invoked quickly. The ath driver schedules these functions using taskqueues. Here's the time keeper configuration for my mips24k board: # sysctl kern.eventtimer kern.eventtimer.choice: MIPS32(800) kern.eventtimer.et.MIPS32.flags: 7 kern.eventtimer.et.MIPS32.frequency: 360000000 kern.eventtimer.et.MIPS32.quality: 800 kern.eventtimer.periodic: 1 kern.eventtimer.timer: MIPS32 kern.eventtimer.idletick: 0 kern.eventtimer.singlemul: 2 When I set kern.eventtimer.periodic=1, the 11n TX/RX performance suddenly jumps to where it should be. Would you mind helping me figure out what the problem is? I didn't think kern.eventtimer.periodic was needed? Thanks, Adrian