Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Aug 2013 19:42:57 +0200
From:      Andre Oppermann <andre@freebsd.org>
To:        Navdeep Parhar <np@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r254524 - head/sys/sys
Message-ID:  <5213AAA1.6020700@freebsd.org>
In-Reply-To: <521257E2.4020502@FreeBSD.org>
References:  <201308191356.r7JDuELE075073@svn.freebsd.org> <521257E2.4020502@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5213AAA1.6020700>