From owner-freebsd-net@FreeBSD.ORG Wed Mar 31 13:06:00 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 449A01065670; Wed, 31 Mar 2010 13:06:00 +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 6D9548FC0A; Wed, 31 Mar 2010 13:05:58 +0000 (UTC) Received: by bwz8 with SMTP id 8so53794bwz.3 for ; Wed, 31 Mar 2010 06:05:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type :content-transfer-encoding:subject:date:message-id:cc:to :mime-version:x-mailer; bh=Nmh3esK2BaUOz1+eGukDjv5TzecaP8Q/6FGVP7CwWuo=; b=lJUGgTITDsa5Rm9vcwE9Qz36zwYMWVTOQDtNniv03qdd4QphP7RolhDPNEaS2AdCZo 2JcSghVeMxkbuFsdIKmMjghcaIof/mdyBHCWvR72jNIpGf2w8i7sEOa0T8Pn3DDgZDsa RAu5/GZfPiEkJwQkaLUsPbnRQ/5AFcLAxKpBo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :cc:to:mime-version:x-mailer; b=v5BcBEzmMJlHI+3pRI+5GSogyFty5MDpuEHUseehKLs9dDqsALwle791pxxeXVcjKb HpsKu+dkTRzSWkjmPZ9VqtCOrBMagtldOEXxSc16SuFbsByslqbNaXAfj7Hpskh0MsIU d360boyMYLYE1sVid/0dorqYvc0J6KwYBGQm0= Received: by 10.204.134.211 with SMTP id k19mr1757412bkt.48.1270040756828; Wed, 31 Mar 2010 06:05:56 -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 a11sm57596730bkc.3.2010.03.31.06.05.54 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 31 Mar 2010 06:05:55 -0700 (PDT) From: Rui Paulo Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Date: Wed, 31 Mar 2010 14:05:52 +0100 Message-Id: To: Sam Leffler , Andrew Thompson , Weongyo Jeong , Bernhard Schmidt Mime-Version: 1.0 (Apple Message framework v1078) X-Mailer: Apple Mail (2.1078) Cc: freebsd-net Subject: 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:06:00 -0000 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. 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. You can find the patch here: * http://people.freebsd.org/~rpaulo/ratectl.diff Only the ral driver and the AMRR rate control algorithms were ported. 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. o I wished there was a better way to do the IEEE80211_AMRR_SUCCESS / = IEEE80211_AMRR_FAILURe call. o Some other stuff can also be `const' o I create ieee80211_ratect.[ch] to avoid polluting other files 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. I would like very much to see this in, unless there's a strong impending = argument. Thanks, -- Rui Paulo