From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 76F43A034E; Wed, 27 May 2020 14:07:31 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B662B1D739; Wed, 27 May 2020 14:07:30 +0200 (CEST) Received: from mail-io1-f66.google.com (mail-io1-f66.google.com [209.85.166.66]) by dpdk.org (Postfix) with ESMTP id BA81F1D733 for ; Wed, 27 May 2020 14:07:29 +0200 (CEST) Received: by mail-io1-f66.google.com with SMTP id d5so16099468ios.9 for ; Wed, 27 May 2020 05:07:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=B0WBx+TCXcAjEeWzDkav5aMf5tZp5RZBWGU6X6C+dOE=; b=eAxPw4DWt+pO5j3mrWD+CZUs5gp95yHejnpZJ6tcSmkkLxuTzYdoof8BW+AsTmBSZw hTOHLQF/yjt6E3WWJ/nsqkIRLdtd6T2qNuw3uNcfA3Ju7qtIH/nHE/Ce9MPPQYzCY+PX L/fcjnE0tBqvpp7YsLfVmRzRqr5nqrFX+fvpDfUWc3A7OaoycPw1EKXS5nhV3xz9+JwC cByuD+0wynaN8xqv9arrbY6yBTWXsxngtGs7ASwDRe0AHEqVLAvQ9luASyDW3J5nLrpT si9jREPhZcsltwKW/zTHS3J9TjMNHOqMXR/v+T0//mb/lAhMz7xnyPxEmRVbTSCltRoy wcjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=B0WBx+TCXcAjEeWzDkav5aMf5tZp5RZBWGU6X6C+dOE=; b=BIm56+WqE4wGUkh1P0jAoqzSvanC2cqPpXhGTo0sz7QeRaw9QZ3x4MZeGaTaOPkrMy CgCDo0hRLrw16EcDFMD6nl95Pk8VY+e8cBHQVrZTNQDeWg2++jM2LeTs0C04MdHfUsQi oJtqadC9hdIkU7aXKAu+ufcN9SOc0PXu6hMFpFBguNrOpmzpfAjX/DiEhoAQ/KTubnP+ x8DkksHD1vMI3OkGlBZKvk6Gvilffx74NiHR28WV1kWqM35h2aoJZZJ8a6UpPKIK33Y9 Vr150f4ctye0/I6g6VJv81FScf6pgV7wSrqJGy6gYgLHYgGU5I03epNNr8ziMkxAFPhV BYGA== X-Gm-Message-State: AOAM531BU3MAZIrPf5rQycXOcjPXXhrBmOTInwK+Et+v8fJ/2Wyw1pyc bf8mFp3nu2h6EyrHmkoSidFt5WNNWKLECh6StpI= X-Google-Smtp-Source: ABdhPJwip8fz5HKd7nPiXQUWKgRMiBUeV6jnJ4FCg1snUkwjg4oC3mD9qcabUIjtrX+tIPzPwZUSz6y2mAa+V/WCfSo= X-Received: by 2002:a6b:f40b:: with SMTP id i11mr20718872iog.59.1590581248729; Wed, 27 May 2020 05:07:28 -0700 (PDT) MIME-Version: 1.0 References: <20200525212415.3173817-1-thomas@monjalon.net> <2617275.OaBZfIjOFF@thomas> <3071819.TdKep6GQZa@thomas> In-Reply-To: <3071819.TdKep6GQZa@thomas> From: Jerin Jacob Date: Wed, 27 May 2020 17:37:13 +0530 Message-ID: To: Thomas Monjalon Cc: Jerin Jacob , Olivier Matz , dpdk-dev , David Marchand , Nithin Dabilpuram , Krzysztof Kanas , Andrew Rybchenko , Ferruh Yigit , "Richardson, Bruce" , John McNamara , Marko Kovacevic Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH] mbuf: document rule for new fields and flags X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, May 27, 2020 at 5:26 PM Thomas Monjalon wrote: > > 27/05/2020 13:43, Jerin Jacob: > > On Wed, May 27, 2020 at 3:21 PM Thomas Monjalon wrote: > > > 27/05/2020 09:31, Jerin Jacob: > > > > On Wed, May 27, 2020 at 12:39 PM Olivier Matz wrote: > > > > > On Tue, May 26, 2020 at 09:59:45PM +0530, Jerin Jacob wrote: > > > > > > On Tue, May 26, 2020 at 9:36 PM Olivier Matz wrote: > > > > > > > On Tue, May 26, 2020 at 01:09:37PM +0530, Jerin Jacob wrote: > > > > > > > > On Tue, May 26, 2020 at 2:54 AM Thomas Monjalon wrote: > > > > > > > > > > > > > > > > > > Since dynamic fields and flags were added in 19.11, > > > > > > > > > the idea was to use them for new features, not only PMD-specific. > > > > > > > > > > > > > > > > > > The rule is made more explicit in doxygen, in the mbuf guide, > > > > > > > > > and in the contribution design guidelines. > > > > > > > > > > > > > > > > > > For more information about the original design, see the presentation > > > > > > > > > https://www.dpdk.org/wp-content/uploads/sites/35/2019/10/DynamicMbuf.pdf > > > > > > > > > > > > > > > > > > Signed-off-by: Thomas Monjalon > > > > > > > > > --- > > > > > > > > > doc/guides/contributing/design.rst | 13 +++++++++++++ > > > > > > > > > doc/guides/prog_guide/mbuf_lib.rst | 23 +++++++++++++++++++++++ > > > > > > > > > lib/librte_mbuf/rte_mbuf_core.h | 2 ++ > > > > > > > > > 3 files changed, 38 insertions(+) > > > > > > > > > > > > > > > > > > diff --git a/doc/guides/contributing/design.rst b/doc/guides/contributing/design.rst > > > > > > > > > index d3dd694b65..508115d5bd 100644 > > > > > > > > > --- a/doc/guides/contributing/design.rst > > > > > > > > > +++ b/doc/guides/contributing/design.rst > > > > > > > > > +Mbuf features > > > > > > > > > +------------- > > > > > > > > > + > > > > > > > > > +The ``rte_mbuf`` structure must be kept small (128 bytes). > > > > > > > > > + > > > > > > > > > +In order to add new features without wasting buffer space for unused features, > > > > > > > > > +some fields and flags can be registered dynamically in a shared area. > > > > > > > > > > > > > > > > I think, instead of "can", it should be "must" > > > > > > > > > > > > > > > > > +The "dynamic" mbuf area is the default choice for the new features. > > > > > > > > > > > > > > In my opinion, Thomas' proposal is correct, with the next sentence > > > > > > > saying it is the default choice for new features. > > > > > > > > > > > > > > Giving guidelines is a good thing (thanks Thomas for documenting it), > > > > > > > but I don't think we should be too strict: the door remains open for > > > > > > > technical debate and exceptions. > > > > > > > > > > > > If you are open for the exception then it must be mention in what case > > > > > > the exception is allowed and what are the criteria of the exception? > > > > > > > > > > > > For example, Why did n't we choose the following patch as expectation > > > > > > http://patches.dpdk.org/patch/68733/ even if only one bit used. > > > > > > > > > > > > If we are not not defining the criteria, IMO, This patch serve no purpose than > > > > > > the existing situation. > > > > > > > > > > > > Do you think, any case where the dynamic scheme can not be used as a replacement > > > > > > for static other than performance hit. > > > > > > > > > > I don't think it is possible to anticipate all criteria in the > > > > > documentation. With Thomas' proposal, it gives a direction is and a > > > > > global view, but it must not completly replace reflection and > > > > > discussion. > > > > > > > > I don't think, we need to anticipate all the criteria in the documentation. > > > > At least ONE should be given as an example of an exception. > > > > > > I think it is too early to be more specific in the guidelines. > > > Do we agree this patch is a first good step in the documentation? > > > > IMO, there is a gap. The subject says the rule, but no rule here. > > We are just giving some guideline and following info in the patch > > given by Olivier is not > > expressed if we read the patch. > > > > " > > I don't think we should be too strict: the door remains open for > > technical debate and exceptions. > > " > > Indeed, the headline should be > mbuf: add guideline for new fields and flags > > > > > We can extend the guidelines a bit later after having some > > > discussions on specific cases, and probably in the techboard too. > > > > > > > > > > I would say, > > > > a) If a feature takes only one bit and its part of normative API spec > > > > and it used in fastpath we should consider the static scheme. > > > > b) Adding an exception to the existing list needs approval at least > > > > from three maintainers > > > > > > > > For me, it is a very legitimate case to have support for > > > > http://patches.dpdk.org/patch/68733/ to the static scheme > > > > as it takes 1 bit for a feature and it is part of the normative spec. > > > > I don't get in explanation in the ml, why > > > > we can not make it as the static scheme for this case. > > > > > > We can continue discussion about this specific case in the right thread. > > > > Yes. The email thread[1] provided all the details. We have optimized > > to one bit for this feature. > > We are expecting Olivier to comment on the new proposal. > > [1] > > http://patches.dpdk.org/patch/68733/ > > > > > Note: I don't have a definitive opinion on it, I need to read it carefully. > > > > Please read it carefully and please provide any technical opinions if > > you have any. > > > > > > > > My worry is, if we are keeping as open-ended means, we are giving room > > > > for the disparity among the vendors/feature > > > > as I dont think, There is use case where dynamic scheme can not be > > > > used as a replacement > > > > for static other than performance hit.(Could think of any use case?) > > > > So open ended boils down to preference to specific feature/vendor. I > > > > think,that path should be avoided. > > > > > > Of course all rules and decisions have to be fair. > > > It's not even a question. > > > > Yes. But I dont think, this patch is not enforcing anything such, > > instead it makes it as an open-ended > > for more confusion. IMO, if it not black and white then better to not > > express the rule. > > I disagree about "more confusion". My confusion will clear up if 1) s/rule/guide line/ change across the patch 2) Explicit mention of the following or similar sentence. it is a guideline and exception is allowed on a case by case using technical debate. > I think the value of this patch is to improve awareness > about the need for using dynamic fields and flags. > > Let's ask other opinions about the added value of this patch. > >