From owner-svn-src-user@FreeBSD.ORG Mon Nov 19 13:33:38 2012 Return-Path: Delivered-To: svn-src-user@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 87B97A89 for ; Mon, 19 Nov 2012 13:33:38 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id E8FB98FC12 for ; Mon, 19 Nov 2012 13:33:37 +0000 (UTC) Received: (qmail 79555 invoked from network); 19 Nov 2012 15:06:37 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 19 Nov 2012 15:06:37 -0000 Message-ID: <50AA3529.2030300@freebsd.org> Date: Mon, 19 Nov 2012 14:33:29 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121026 Thunderbird/16.0.2 MIME-Version: 1.0 To: Gleb Smirnoff Subject: Re: svn commit: r243215 - user/andre/tcp_workqueue/sys/sys References: <201211181217.qAICH7aH021497@svn.freebsd.org> <20121119114510.GQ38060@FreeBSD.org> In-Reply-To: <20121119114510.GQ38060@FreeBSD.org> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: src-committers@FreeBSD.org, svn-src-user@FreeBSD.org X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Nov 2012 13:33:38 -0000 On 19.11.2012 12:45, Gleb Smirnoff wrote: > On Sun, Nov 18, 2012 at 12:17:07PM +0000, Andre Oppermann wrote: > A> Author: andre > A> Date: Sun Nov 18 12:17:07 2012 > A> New Revision: 243215 > A> URL: http://svnweb.freebsd.org/changeset/base/243215 > A> > A> Log: > A> Add mtodo(m, o, t) macro taking an additional offset into > A> the mbuf data section before the casting to type 't'. > > IMHO, argument order of (m, t, o) is more intuitive, since > matches order of mtod(). Yes, but that looks rather horrible and counter-intuitive: th = mtodo(m, struct tcphdr *, 20); vs. th = mtodo(m, 20, struct tcphdr *); Reads m->m_data at offset 20 is struct tcphdr. Naming it mtood() wasn't convincing either. ;-) -- Andre > A> > A> Modified: > A> user/andre/tcp_workqueue/sys/sys/mbuf.h > A> > A> Modified: user/andre/tcp_workqueue/sys/sys/mbuf.h > A> ============================================================================== > A> --- user/andre/tcp_workqueue/sys/sys/mbuf.h Sun Nov 18 12:16:50 2012 (r243214) > A> +++ user/andre/tcp_workqueue/sys/sys/mbuf.h Sun Nov 18 12:17:07 2012 (r243215) > A> @@ -64,8 +64,10 @@ > A> * type: > A> * > A> * mtod(m, t) -- Convert mbuf pointer to data pointer of correct type. > A> + * mtodo(m, o, t) - Same as above but with offset 'o' into data. > A> */ > A> #define mtod(m, t) ((t)((m)->m_data)) > A> +#define mtodo(m, o, t) ((t)(((m)->m_data) + (o))) > A> > A> /* > A> * Argument structure passed to UMA routines during mbuf and packet >