From owner-freebsd-net@FreeBSD.ORG Thu Nov 21 14:36:28 2013 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 C01DA1D9; Thu, 21 Nov 2013 14:36:28 +0000 (UTC) Received: from mail-la0-x22b.google.com (mail-la0-x22b.google.com [IPv6:2a00:1450:4010:c03::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 308832B87; Thu, 21 Nov 2013 14:36:27 +0000 (UTC) Received: by mail-la0-f43.google.com with SMTP id n7so8595584lam.16 for ; Thu, 21 Nov 2013 06:36:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=VaVxEoUPpZNrmL8zcobT0aB48Mi+hvla+bWrEHYteMo=; b=BurAQuIngXdOcdketejPR7elj5w0MY3hoCyCzMhvbvSzuqm7TN1GBcQjAdgUTgzvIn s/gsQdjTUnW7KNALsYFNAgtheZXbq3PcATRk0h7fznzK1suM+cYHQ+BSQzaxq0lRckP7 zOV+mHt3qS2zuK4yN9VMNI7VaxanbbIZ2J/VwuqUxXYnerOvZAPZrP1RdqUtrteMhFDu OItCvwsXA2/o1Q0ubBEv8wFfSTx0tevd6m0eUVdr2n6UbBfpCxXUzXa5hfSHD6FUI0OD D9W0i5UFKMFnD9N+dRIY6yM/Hm+ylgmEJDbw/oJfUUSB9WAkVxG9eagn8wqFYrE1L74g MxPw== X-Received: by 10.112.150.103 with SMTP id uh7mr2039905lbb.34.1385044585178; Thu, 21 Nov 2013 06:36:25 -0800 (PST) Received: from [192.168.2.30] ([2.176.162.77]) by mx.google.com with ESMTPSA id vz9sm23479590lbb.17.2013.11.21.06.36.22 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 21 Nov 2013 06:36:24 -0800 (PST) Message-ID: <528E1A83.7070509@gmail.com> Date: Thu, 21 Nov 2013 18:06:51 +0330 From: Hooman Fazaeli User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: svn commit: r258328 - head/sys/net References: <201311182258.rAIMwEFd048783@svn.freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "src-committers@freebsd.org" , FreeBSD Net , "svn-src-all@freebsd.org" , "George V. Neville-Neil" , "freebsd-arch@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Nov 2013 14:36:28 -0000 On 11/21/2013 1:32 AM, Adrian Chadd wrote: > Can we revert this and just quickly put together something else that > won't potentially come back to bite us with weird side effects? > > My suggestions (and I'm happy to do this work if needed): > > * create a lightweight mbuf queue representation so an mbuf list isn't > just the mbuf header pointer; > * create a new ether input (say, ether_input_multi) that takes an mbuf > list, so existing driver code does the right thing. > > After that it'd be nice to write a set of mbuf list macros for > abstract the whole queue, dequeue, concat, iterate, etc (like > sys/queue.h, but for mbufs.) > > What do people think? > > (I've been doing it for m->next chained things, but not m->m_nextpkt things..) > > > > -adrian > > > What are possible sideeffects? What are the benefits we achieve by a distinct queue structure and having both if_input and if_input_multi? -- Best regards. Hooman Fazaeli