From owner-svn-src-all@FreeBSD.ORG Tue Aug 20 17:43:04 2013 Return-Path: Delivered-To: svn-src-all@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 376848ED for ; 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 84B582FE8 for ; Tue, 20 Aug 2013 17:43:02 +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 ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 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 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 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-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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