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