From owner-freebsd-net@FreeBSD.ORG Tue Mar 4 01:25:30 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F31921B4; Tue, 4 Mar 2014 01:25:29 +0000 (UTC) Received: from mail-ve0-x231.google.com (mail-ve0-x231.google.com [IPv6:2607:f8b0:400c:c01::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9BFFFC0A; Tue, 4 Mar 2014 01:25:29 +0000 (UTC) Received: by mail-ve0-f177.google.com with SMTP id sa20so4597635veb.36 for ; Mon, 03 Mar 2014 17:25:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=w1yJ+v2OasfnlKYxCV23Os7Uko9DjCD+Y3Rg828bKMQ=; b=ITTZeWi9zO7FuUv7ciqzLQNKfPfmMByWCMfsS/dBJiT29bl4SAoKkCZTnqq1p1hpcW sY82ocjiCV7Ts4bB6cBvwbmRoAWX/dxuTyPVzC6s+Ei7HjaOcFihfaLE9AA8fLDd4GRb zsgHNiRCMvJ8O5kQ1GWpHFTPJ1I921karVXCZcI1Iik8cyYxGZP4bhz/f4bsahWLQcci bNomixxtGa8p4b+JlgZszfQI5t1obPPgI41bjPMRqCv+ap5SQfUe900TT0/XtmT4LE22 4USXIZOY6uni5QV9tSwTj7HtNy2Ku6msDJE+yS583sPBj1OaIElEC9KEsyoTwVAlAzAL 4SOg== MIME-Version: 1.0 X-Received: by 10.220.136.6 with SMTP id p6mr18945741vct.9.1393896328763; Mon, 03 Mar 2014 17:25:28 -0800 (PST) Received: by 10.221.11.135 with HTTP; Mon, 3 Mar 2014 17:25:28 -0800 (PST) In-Reply-To: References: Date: Mon, 3 Mar 2014 17:25:28 -0800 Message-ID: Subject: Re: UDP transmit and no flowid From: Jack Vogel To: Adrian Chadd Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: FreeBSD Net , "freebsd-arch@freebsd.org" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Mar 2014 01:25:30 -0000 Funny, Jeff Pieper and I were just talking about how it seems UDP performance, errr is less than optimal, so hey trying something that might help sounds like a good idea to me. Will be curious to hear the results! Cheers, Jack On Mon, Mar 3, 2014 at 5:17 PM, Adrian Chadd wrote: > Hi, > > So something I was told about whilst investigating RSS at Netflix was > that the UDP path doesn't actually get set by anything unless you're > using flowtable. So, if one doesn't define flowtable, the transmit > path congests quite heavily through one TX queue. > > I was about to do up a simple hack to do a toeplitz hash in the UDP > send path before it gets bumped up to ip_output() - that way it can > set the flowid correctly. > > The other option is to do a topelitz hash in ip_output() if m_flowid > isn't set. The downside there is that we'd have to check whether it's > actually a TCP, UDP, or IP flow before we assign it a flowid. > > In any case, this would likely decongest the transmit path quite a bit > for UDP send. It's still not completely RSS-y (we would still need to > line up transmit and receive paths to minimise lock contention) but it > seems like a necessary first step in that direction. > > What do people think? > > I'll try this out in the next week or two once I've sorted out my > employment situation and I can reserve some time on the netperf > cluster. > > (before people ask "why udp?" - I'm kinda fed up with memcached > performing much worse on freebsd than linux. Since fixing the UDP side > of things requires a subset of the same work needed for TCP, I figure > we should tackle UDP first.) > > Thanks, > > > -adrian > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org" >