Date: Tue, 20 Aug 2013 20:13:14 +0200 From: Davide Italiano <davide@freebsd.org> To: Andre Oppermann <andre@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Navdeep Parhar <np@freebsd.org> Subject: Re: svn commit: r254524 - head/sys/sys Message-ID: <CACYV=-F2YQUe3SamyfwBPFpDKcMbsQ35kX26qVDWcaessjj=JA@mail.gmail.com> In-Reply-To: <5213AAA1.6020700@freebsd.org> References: <201308191356.r7JDuELE075073@svn.freebsd.org> <521257E2.4020502@FreeBSD.org> <5213AAA1.6020700@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 20, 2013 at 7:42 PM, Andre Oppermann <andre@freebsd.org> wrote: > 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 > In my opinion the possibility we have about breaking KPI/KBI should not be abused, even if it's allowed in HEAD. In other words,people should go for preserving it when (as in this case) it's easy and without additional costs. Your point about "this is HEAD, it can be broken at any time" makes relatively little sense to me. Note that in the worst case such KPI/KBI breakages are annoying for $VENDORS who maintain out-of-tree code, which need to rebuild/change their code, or, if they get pissed off, drop FreeBSD support. In your case, it's just a matter of "code cleaness" about few lines, which, IMHO and always IMHO, doesn't justify the breakage. Thanks, -- Davide "There are no solved problems; there are only problems that are more or less solved" -- Henri Poincare
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACYV=-F2YQUe3SamyfwBPFpDKcMbsQ35kX26qVDWcaessjj=JA>