From owner-svn-src-head@FreeBSD.ORG Tue Aug 20 18:13:16 2013 Return-Path: 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 056DC695; Tue, 20 Aug 2013 18:13:16 +0000 (UTC) (envelope-from davide.italiano@gmail.com) Received: from mail-vc0-x229.google.com (mail-vc0-x229.google.com [IPv6:2607:f8b0:400c:c03::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7007721DA; Tue, 20 Aug 2013 18:13:15 +0000 (UTC) Received: by mail-vc0-f169.google.com with SMTP id ib11so577894vcb.28 for ; Tue, 20 Aug 2013 11:13:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=knnUfl9PHVgzFl530Cf1XsprQlZbeAc9JoeL/KZH2pI=; b=kI7C1H9UTvlGqi6FQVxP29ISEmowiAgX2opRYjMKuly/tfvkgPguAYe5ziU/u++jcO WiMpmExjVYqFYPa8O26zG+FxukrWP8VAwmLTuYiqB3mRQQKfd7GqSQJDJ3akmhoxirzg yrslyL0pSLNvFYp0rKmJVmvCDDEkgzYATgv+Q/gQ9KKHb6wWaU3tz/LKb8g7R7LxIQfb l1Xhaq07RjIA+zGVy1B52yCk+OYsEFsHfdU93VYtc0wHLeg9+q4xLFpHLqBuj1KjGMBR mbQRt4PqxlQiZGHTtEikGq4B6X6uLwaQZZRw64TFPzKd31XeISC7q0ELE3rkbGtjMcgv 0uYw== MIME-Version: 1.0 X-Received: by 10.52.120.114 with SMTP id lb18mr1949741vdb.23.1377022394391; Tue, 20 Aug 2013 11:13:14 -0700 (PDT) Sender: davide.italiano@gmail.com Received: by 10.220.65.132 with HTTP; Tue, 20 Aug 2013 11:13:14 -0700 (PDT) In-Reply-To: <5213AAA1.6020700@freebsd.org> References: <201308191356.r7JDuELE075073@svn.freebsd.org> <521257E2.4020502@FreeBSD.org> <5213AAA1.6020700@freebsd.org> Date: Tue, 20 Aug 2013 20:13:14 +0200 X-Google-Sender-Auth: G2g3t799u9D7qeP8IaWnee0SxNo Message-ID: Subject: Re: svn commit: r254524 - head/sys/sys From: Davide Italiano To: Andre Oppermann Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Navdeep Parhar 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Aug 2013 18:13:16 -0000 On Tue, Aug 20, 2013 at 7:42 PM, Andre Oppermann 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