From owner-svn-src-user@FreeBSD.ORG Mon Nov 19 18:13:37 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 23A4576F for ; Mon, 19 Nov 2012 18:13:37 +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 7548A8FC16 for ; Mon, 19 Nov 2012 18:13:36 +0000 (UTC) Received: (qmail 80585 invoked from network); 19 Nov 2012 19:46:39 -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 19:46:39 -0000 Message-ID: <50AA76CD.3070904@freebsd.org> Date: Mon, 19 Nov 2012 19:13:33 +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: mdf@FreeBSD.org Subject: Re: svn commit: r243215 - user/andre/tcp_workqueue/sys/sys References: <201211181217.qAICH7aH021497@svn.freebsd.org> <20121119114510.GQ38060@FreeBSD.org> <50AA3529.2030300@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Gleb Smirnoff , 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 18:13:37 -0000 On 19.11.2012 18:01, mdf@FreeBSD.org wrote: > On Mon, Nov 19, 2012 at 5:33 AM, Andre Oppermann wrote: >> 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. ;-) > > Why a cast at all? Perpetuating the mistake of mtod()'s casting isn't > necessary. mtod() can't be fixed for source reasons, but the new one > doesn't need to cast. Since C automatically casts from void * to any > other pointer, the code gets shorter (usually) too: > > th = mtodo(m, 20); m->m_data is caddr_t which is "char *" > Not that I care much, it's just if we're having a bikeshed I have my > favorite colors. :-) -- Andre