From owner-svn-src-head@FreeBSD.ORG Tue Aug 20 17:43:04 2013 Return-Path: <owner-svn-src-head@FreeBSD.ORG> Delivered-To: svn-src-head@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 ESMTP id 239528EC for <svn-src-head@freebsd.org>; Tue, 20 Aug 2013 17:43:04 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 70C952FE7 for <svn-src-head@freebsd.org>; Tue, 20 Aug 2013 17:43:03 +0000 (UTC) Received: (qmail 66588 invoked from network); 20 Aug 2013 18:26:17 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender <andre@freebsd.org>) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for <np@FreeBSD.org>; 20 Aug 2013 18:26:17 -0000 Message-ID: <5213AAA1.6020700@freebsd.org> Date: Tue, 20 Aug 2013 19:42:57 +0200 From: Andre Oppermann <andre@freebsd.org> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 To: Navdeep Parhar <np@FreeBSD.org> Subject: Re: svn commit: r254524 - head/sys/sys References: <201308191356.r7JDuELE075073@svn.freebsd.org> <521257E2.4020502@FreeBSD.org> In-Reply-To: <521257E2.4020502@FreeBSD.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current <svn-src-head.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-head>, <mailto:svn-src-head-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/svn-src-head> List-Post: <mailto:svn-src-head@freebsd.org> List-Help: <mailto:svn-src-head-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-head>, <mailto:svn-src-head-request@freebsd.org?subject=subscribe> X-List-Received-Date: Tue, 20 Aug 2013 17:43:04 -0000 On 19.08.2013 19:37, Navdeep Parhar wrote: > On 08/19/13 06:56, Andre Oppermann wrote: >> Author: andre >> Date: Mon Aug 19 13:56:14 2013 >> New Revision: 254524 >> URL: http://svnweb.freebsd.org/changeset/base/254524 >> >> Log: >> Add four additional M_PROTOFLAGS[9-12] for protocol specific use. >> >> Discussed with: trociny, glebius, adrian >> >> Modified: >> head/sys/sys/mbuf.h >> >> Modified: head/sys/sys/mbuf.h >> ============================================================================== >> --- head/sys/sys/mbuf.h Mon Aug 19 13:27:32 2013 (r254523) >> +++ head/sys/sys/mbuf.h Mon Aug 19 13:56:14 2013 (r254524) >> @@ -196,22 +196,24 @@ struct mbuf { >> #define M_FRAG 0x00000800 /* packet is a fragment of a larger packet */ >> #define M_FIRSTFRAG 0x00001000 /* packet is first fragment */ >> #define M_LASTFRAG 0x00002000 /* packet is last fragment */ >> - /* 0x00004000 free */ >> - /* 0x00008000 free */ >> +#define M_PROTO9 0x00004000 /* protocol-specific */ >> +#define M_PROTO10 0x00008000 /* protocol-specific */ >> #define M_VLANTAG 0x00010000 /* ether_vtag is valid */ >> #define M_PROMISC 0x00020000 /* packet was not for us */ >> - /* 0x00040000 free */ >> +#define M_PROTO11 0x00040000 /* protocol-specific */ >> #define M_PROTO6 0x00080000 /* protocol-specific */ >> #define M_PROTO7 0x00100000 /* protocol-specific */ >> #define M_PROTO8 0x00200000 /* protocol-specific */ >> #define M_FLOWID 0x00400000 /* deprecated: flowid is valid */ >> +#define M_PROTO12 0x00800000 /* protocol-specific */ >> #define M_HASHTYPEBITS 0x0F000000 /* mask of bits holding flowid hash type */ > > Why reuse the freed up bits so soon (at least one of which I think was > prematurely GC'ed -- see my other email on M_NOFREE). There was room > beyond M_HASHTYPEBITS, no? This is HEAD where kernel and modules have to be (re)compiled together at any point in time. On stable this reuse would not have been possible. In a subsequent commit I compacted and ordered the flags. There's a couple of free ones remaining. I have some additional mbuf changes coming up to be posted for possible objections later today. The close HEAD freeze deadline has got me rushed a bit to allow 10.x backporting of the checksum/offload overhaul. -- Andre