From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp78.iad3a.emailsrvr.com (smtp78.iad3a.emailsrvr.com [173.203.187.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id D94943B2A3 for ; Sat, 4 Feb 2017 11:26:59 -0500 (EST) Received: from smtp26.relay.iad3a.emailsrvr.com (localhost [127.0.0.1]) by smtp26.relay.iad3a.emailsrvr.com (SMTP Server) with ESMTP id 7DD7054BC; Sat, 4 Feb 2017 11:26:59 -0500 (EST) Received: from app61.wa-webapps.iad3a (relay-webapps.rsapps.net [172.27.255.140]) by smtp26.relay.iad3a.emailsrvr.com (SMTP Server) with ESMTP id 7446554A8; Sat, 4 Feb 2017 11:26:59 -0500 (EST) X-Sender-Id: MAILER-DAEMON Received: from app61.wa-webapps.iad3a (relay-webapps.rsapps.net [172.27.255.140]) by 0.0.0.0:25 (trex/5.7.12); Sat, 04 Feb 2017 11:26:59 -0500 Received: from reed.com (localhost [127.0.0.1]) by app61.wa-webapps.iad3a (Postfix) with ESMTP id 61BB7C0B6A; Sat, 4 Feb 2017 11:26:59 -0500 (EST) Received: by mobile.rackspace.com (Authenticated sender: dpreed@reed.com, from: dpreed@reed.com) with HTTP; Sat, 4 Feb 2017 11:26:59 -0500 (EST) Date: Sat, 4 Feb 2017 11:26:59 -0500 (EST) From: dpreed@reed.com To: "Dave Taht" Cc: make-wifi-fast@lists.bufferbloat.net MIME-Version: 1.0 Content-Type: text/plain;charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Message-ID: <1486225619.383728022@mobile.rackspace.com> X-Mailer: mobile/4.0.0 Subject: [Make-wifi-fast] Making wifi really fast... X-BeenThere: make-wifi-fast@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2017 16:26:59 -0000 As an experiment, I am starting to put fiber throughout my house, primarily= intended as a backbone for scalable wifi to wifi that is very low latency,= based on low cost 10 GigE gear. But I'm still looking for some key pieces of kit... Others might suggest mo= therboards, wifi cards, software that can achieve the "access point" goals = below... I'd be very appreciative. Goals: expected latency end to end around 50 microseconds or in that ballpa= rk, end to end, wifi to wifi. Off the shelf hardware components. Linux or F= reeBSD routing components. No bufferbloat. Multiple WiFi gateways. Throughp= ut close to max achievable on multiple mixed bands, 1750 Mbits/sec times nu= mber of wifi cards, perhaps. Or more if cochannel operation can be achieved= among access points that don't hear each other. Current gear and costs:=20 Ubiquity XG-16 10 GigE switch (cost was $300 as beta, now selling for ~$550= ). 8 Mellanox ConnectX 2 PCIe cards, $20 each, because they are being pulled f= rom systems. Mine look to possibly be newly packaged ones, probably unsalab= le, given that they are EOL. But very easy to find (mine from Amazon). Mix of twinax and fiber SFP+ cables, pulled through walls and/or run on ext= erior of house. Need: Motherboards with enough I/o performance to handle at least a couple of gig= abits per second, chopped into smallish packets. I plan to set MTU to 9000,= but most packets will be smaller. I know how to get wirespeed on the Conne= ctX2 devices by dedicating a core and polling, eliminating interrupts. Assu= me that wifi can work that way also, eliminating need for bloated queueing,= leaving one or more cores to do actual routing. Main requirement is PCI Express x8 or bigger slot, and slot for wifi card. = Smaller is better. Wifi card(s) that support dual band AC, and have drivers that don't bloat t= heir queues. Preferably having support for polled mode operation on one or = two cores, which I suspect is needed just as it is for 10 GigE low latency. Latency is the primary measurement I'm interested in: in Internet "it is th= e latency, stupid." This may make Linux be the wrong choice... Big queues a= re baked into Linux kernel dogma a little too much, because the wifi hardwa= re guys on small systems measure throughput only, and the drivers come from= them. Anyway, this is a hobby project, and my day job (which involves getting 10 = GigE layer 2 protocols to do end api to end api latencies < 10 usec.) takes= priority for me. Any suggestions appreciated.