From owner-svn-src-head@FreeBSD.ORG Wed Aug 21 16:29:06 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id D2C6B966; Wed, 21 Aug 2013 16:29:06 +0000 (UTC) (envelope-from davide.italiano@gmail.com) Received: from mail-vc0-x233.google.com (mail-vc0-x233.google.com [IPv6:2607:f8b0:400c:c03::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4730E27D4; Wed, 21 Aug 2013 16:29:06 +0000 (UTC) Received: by mail-vc0-f179.google.com with SMTP id ht10so410494vcb.38 for ; Wed, 21 Aug 2013 09:29:05 -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=OATyy2cIS3/B4wcHvEJwr60gyz+5YW/KDz4u9yeDLP8=; b=bQXvG2DEpaAGz/PoJMrWmLNFLkibltPQCEiwdsRyHGM2sGHCDEGuKHJjSSjVfw1pFV U3OdnqfY+2BW/lEeAdFBJIW+Tt3lkpyTzxrxPopzMr8htD2XicKBFYRqqsuEV+Jyzlbj YlusCvUhb8Vtl0Y545+0So3KiRmPgiBpr5x7DkVgwOfDJb9oJSfU6GI9z7uaed1wdM1q Nvfip8x0NIXhkAZHfpjH7LYP7mSsgpkQUEt96QIBT70sLgdnTQxhgJnWMO7g57/DDgMH qPFK+bEUb3QRdcmnmg6QMz1XLj31q0JjeiJtbmZucdQYD813t9PA1cpJSt8xbdnQQ0MS ZAfg== MIME-Version: 1.0 X-Received: by 10.220.173.134 with SMTP id p6mr639664vcz.36.1377102544958; Wed, 21 Aug 2013 09:29:04 -0700 (PDT) Sender: davide.italiano@gmail.com Received: by 10.220.65.132 with HTTP; Wed, 21 Aug 2013 09:29:04 -0700 (PDT) In-Reply-To: <5214E86F.1060102@freebsd.org> References: <201308191356.r7JDuELE075073@svn.freebsd.org> <521257E2.4020502@FreeBSD.org> <5213AAA1.6020700@freebsd.org> <5214DD31.6010205@freebsd.org> <5214E86F.1060102@freebsd.org> Date: Wed, 21 Aug 2013 18:29:04 +0200 X-Google-Sender-Auth: TakbU2n9F97yv7dnQ3cwH6EfMLY 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: Wed, 21 Aug 2013 16:29:06 -0000 On Wed, Aug 21, 2013 at 6:18 PM, Andre Oppermann wrote: > On 21.08.2013 17:59, Davide Italiano wrote: >> >> On Wed, Aug 21, 2013 at 5:30 PM, Andre Oppermann >> wrote: >>> >>> On 20.08.2013 20:13, Davide Italiano wrote: >>>> >>>> >>>> On Tue, Aug 20, 2013 at 7:42 PM, Andre Oppermann >>>> wrote: >>>>> >>>>> >>>>> On 19.08.2013 19:37, Navdeep Parhar wrote: >>>>>> >>>>>> >>>>>> 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. >>> >>> >>> >>> Preserving the API but having to recompile is always fair game in HEAD. >>> In fact it happens all the time and the only supported way to track HEAD >>> is to recompile kernel and modules together. >>> >>> For removing (crufty) functionality I agree that it shouldn't be done >>> just for the sake of it and also shouldn't be done often. Sometimes it >>> is necessary in the name of progress. Having to support old, crufty or >>> broken ways of doing something is a waste of developer time too. >>> >>> It's always a judgement call. In this case there is a perfectly valid >>> alternative way of doing that also is less dangerous to leak mbufs. >>> >>> -- >>> Andre >>> >> >> I don't see in any way how flags reordering might be in any way >> connected to mbufs leaks, alas. >> There's a similar recent('ish) discussion and it was decided to not >> compact/reorder flags. See r253662/r253775 for references. >> So, I'm not sure what's the de-facto policy, but still, as a community >> FreeBSD should decide one strategy and be stuck with that. It's a >> matter of being consistent, which, IMHO, is something that should not >> be undervaluated. > > > I fail to see what problem you have with the flag reordering. Recompile That it broke KBI. Without any advantage, other than "compacting" things and making code a bit more readable. And without any real reason, as there's still room for new flags. I think Navdeep pointed out this as well. But I won't object anymore. Go for it. The reason why I replied is that I find silly doing something like this without real advantage. > and done. That's why we work with #defines instead of magic 0x1234 values. > If someone outside the tree was using the spare bits for their own private > purposes, yes, they would quickly have to check and possibly adjust them. > That's trivial however and should be expected when tracking an OpenSource > operating system. If you want total ABI stability then build on Windows > but even they made a big break somewhere around NIDS5 or NDIS6. We can't > get stuck on every bit because there may be someone somewhere out there > we don't know about using it. On any x-stable such a reorder wouldn't > be possible obviously because of the ABI preservation guarantee. > > -- > Andre > Thanks, -- Davide "There are no solved problems; there are only problems that are more or less solved" -- Henri Poincare