From owner-freebsd-net@FreeBSD.ORG Wed Mar 31 13:31:38 2010 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ECF9E1065700; Wed, 31 Mar 2010 13:31:37 +0000 (UTC) (envelope-from rpaulo@gmail.com) Received: from mail-bw0-f216.google.com (mail-bw0-f216.google.com [209.85.218.216]) by mx1.freebsd.org (Postfix) with ESMTP id 4A0998FC0A; Wed, 31 Mar 2010 13:31:36 +0000 (UTC) Received: by bwz8 with SMTP id 8so74889bwz.3 for ; Wed, 31 Mar 2010 06:31:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=ylPk5Ch64X9oi8d8+HhQsWbmOizjGLTRQ+pOocxKMas=; b=PXhy/lMCHucUIBslOWlLCgzj4/XQfcH4sH5IeJx3zOg624dD6FZxlsfgCbtD5i5l+u qD+jyfPDh6Wiu9gjxaWYQyGavEjhsPXi7eTlC7vcqXSfTibsD7FgGoU4lhBZvH8jEITc zgPpEwciBUcrIBObrOD+ELSe7Hex0+ed/GZUo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=oNQN8KdtUGLlxFNdWKTuv5YPqKRVUxi9NEFQ1zYod5Art04LMBmkaLUvtmamw26uxe n1Wwj0MZNrs6aa+a/qK8QKmhvii0G/IHm3vRaaYBl7SNTEQyDTBoWTyecpvAwIt9xjB7 rKVQUrbZGOjq96wjNafswOVx6AHJWf3r1EZmg= Received: by 10.204.144.130 with SMTP id z2mr6943494bku.55.1270042293779; Wed, 31 Mar 2010 06:31:33 -0700 (PDT) Received: from [10.0.10.2] (54.81.54.77.rev.vodafone.pt [77.54.81.54]) by mx.google.com with ESMTPS id x16sm57733679bku.17.2010.03.31.06.31.32 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 31 Mar 2010 06:31:33 -0700 (PDT) Sender: Rui Paulo Mime-Version: 1.0 (Apple Message framework v1078) Content-Type: text/plain; charset=us-ascii From: Rui Paulo In-Reply-To: Date: Wed, 31 Mar 2010 14:31:30 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <63B143BF-20C9-425F-8969-B7452191E84F@freebsd.org> References: To: Antoine Brodin X-Mailer: Apple Mail (2.1078) Cc: freebsd-net Subject: Re: net80211 ratectl proof of concept X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Mar 2010 13:31:38 -0000 On 31 Mar 2010, at 14:24, Antoine Brodin wrote: > On Wed, Mar 31, 2010 at 3:05 PM, Rui Paulo wrote: >> Hi, >> I've started developing a ratectl framework for net80211, loosely = based on what DragonFly has. Right now only one driver has been ported, = but I would like your feedback before continuing. >>=20 >> The objective is to, eventually, have all the ratectl stuff (amrr, = sample, onoe(?) and rssadapt) in net80211 so all drivers can use it. We = can also select which ratectl modules are built in the kernel config = file. >> The framework support changing the current ratectl is out of scope = for this patch. >>=20 >> You can find the patch here: >> * http://people.freebsd.org/~rpaulo/ratectl.diff >>=20 >> Only the ral driver and the AMRR rate control algorithms were ported. >>=20 >> Some comments: >> o The rate control calls now dereferences several pointers and some = inline functions are now real functions. I wonder how much this impacts = performance and what we can do to solve it. >>=20 >> o I wished there was a better way to do the IEEE80211_AMRR_SUCCESS / = IEEE80211_AMRR_FAILURe call. >>=20 >> o Some other stuff can also be `const' >>=20 >> o I create ieee80211_ratect.[ch] to avoid polluting other files >>=20 >> o I moved the AMRR parameters inside amrr_init() on purpose. The = drivers we have now only specify a different interval and I plan to add = export amrr_set_interval() via the ratectl framework later. >>=20 >>=20 >> I would like very much to see this in, unless there's a strong = impending argument. >=20 > Hello, >=20 > This looks great! > Is there specific reasons to use pointers and not ints for some > arguments of foo_tx_complete() and foo_tx_update()? Not really. I'll probably switch them to ints at some point. -- Rui Paulo