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 40643A0517; Wed, 10 Jun 2020 11:59:19 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D4ED52C38; Wed, 10 Jun 2020 11:59:18 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id A6FA52C36 for ; Wed, 10 Jun 2020 11:59:16 +0200 (CEST) IronPort-SDR: T4xpvpQIJv9g5BY7Ab+8yI9GsPcV+Ek31wkzfMxaEEENO2e7UZpI8wtmtbgo60hpgi8ZRsJj1J KV9MwfC7TfUA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2020 02:59:15 -0700 IronPort-SDR: u3tu7heRw+sNQulaHxQ7d81d5yCMZ33V+GyVtgYP20BlWooGK9fFQxk2JWkPtog9SajzYF5fv4 Y8ZHPJanAQrA== X-IronPort-AV: E=Sophos;i="5.73,495,1583222400"; d="scan'208";a="418697167" Received: from bricha3-mobl.ger.corp.intel.com ([10.252.14.164]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 10 Jun 2020 02:59:14 -0700 Date: Wed, 10 Jun 2020 10:59:10 +0100 From: Bruce Richardson To: Andrew Rybchenko Cc: Jerin Jacob , "Ananyev, Konstantin" , Stephen Hemminger , "dev@dpdk.org" Message-ID: <20200610095910.GA1587@bricha3-MOBL.ger.corp.intel.com> References: <20200608164640.189755-1-bruce.richardson@intel.com> <20200608121723.7a042105@hermes.lan> <20200609092949.GA1565@bricha3-MOBL.ger.corp.intel.com> <5710188e-4bba-c909-34cb-1bb67cbc3af0@solarflare.com> <20200609135717.GA1583@bricha3-MOBL.ger.corp.intel.com> <4e577242-6e2e-03ba-b299-297c5cdf05d5@solarflare.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [dpdk-dev] [PATCH RFC] devtools: increase default line length to 100 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, Jun 10, 2020 at 12:28:53PM +0300, Andrew Rybchenko wrote: > On 6/10/20 11:47 AM, Jerin Jacob wrote: > > On Wed, Jun 10, 2020 at 1:57 PM Andrew Rybchenko > > wrote: > >> > >> On 6/10/20 8:22 AM, Jerin Jacob wrote: > >>> On Tue, Jun 9, 2020 at 7:27 PM Bruce Richardson > >>> wrote: > >>>> > >>>> On Tue, Jun 09, 2020 at 04:40:28PM +0300, Andrew Rybchenko wrote: > >>>>> On 6/9/20 1:00 PM, Ananyev, Konstantin wrote: > >>>>>> > >>>>>>> > >>>>>>> On Mon, Jun 08, 2020 at 12:17:23PM -0700, Stephen Hemminger wrote: > >>>>>>>> On Mon, 8 Jun 2020 17:46:40 +0100 Bruce Richardson > >>>>>>>> wrote: > >>>>>>>> > >>>>>>>>> Rather than continuing to recommend an 80-char line limit, let's > >>>>>>>>> take a hint from the Linux kernel[1] and aim for an 100-char > >>>>>>>>> recommended limit instead. > >>>>>>>>> > >>>>>>>>> [1] > >>>>>>>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bdc48fa11e46f867ea4d75fa59ee87a7f48be144 > >>>>>>>>> > >>>>>>>>> Signed-off-by: Bruce Richardson --- > >>>>>>>>> devtools/checkpatches.sh | 2 +- > >>>>>>>>> doc/guides/contributing/coding_style.rst | 2 +- 2 files changed, 2 > >>>>>>>>> insertions(+), 2 deletions(-) > >>>>>>>>> > >>>>>>>>> diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh > >>>>>>>>> index 158087f1c..4970ed830 100755 --- a/devtools/checkpatches.sh +++ > >>>>>>>>> b/devtools/checkpatches.sh @@ -15,7 +15,7 @@ > >>>>>>>>> VALIDATE_NEW_API=$(dirname $(readlink -f $0))/check-symbol-change.sh > >>>>>>>>> # Codespell can also be enabled by setting DPDK_CHECKPATCH_CODESPELL > >>>>>>>>> to a valid path # to a dictionary.txt file if dictionary.txt is not > >>>>>>>>> in the default location. > >>>>>>>>> codespell=${DPDK_CHECKPATCH_CODESPELL:-enable} > >>>>>>>>> -length=${DPDK_CHECKPATCH_LINE_LENGTH:-80} > >>>>>>>>> +length=${DPDK_CHECKPATCH_LINE_LENGTH:-100} > >>>>>>>>> > >>>>>>>>> # override default Linux options options="--no-tree" diff --git > >>>>>>>>> a/doc/guides/contributing/coding_style.rst > >>>>>>>>> b/doc/guides/contributing/coding_style.rst index > >>>>>>>>> 4efde93f6..1db3a7bbe 100644 --- > >>>>>>>>> a/doc/guides/contributing/coding_style.rst +++ > >>>>>>>>> b/doc/guides/contributing/coding_style.rst @@ -21,7 +21,7 @@ The > >>>>>>>>> rules and guidelines given in this document cannot cover every > >>>>>>>>> situation, so * In the case of creating new files, the style should > >>>>>>>>> be consistent within each file in a given directory or module. * > >>>>>>>>> The primary reason for coding standards is to increase code > >>>>>>>>> readability and comprehensibility, therefore always use whatever > >>>>>>>>> option > >>>>>>> will make the code easiest to read. > >>>>>>>>> > >>>>>>>>> -Line length is recommended to be not more than 80 characters, > >>>>>>>>> including comments. +Line length is recommended to be not more than > >>>>>>>>> 100 characters, including comments. [Tab stop size should be > >>>>>>>>> assumed to be 8-characters wide]. > >>>>>>>>> > >>>>>>>>> .. note:: > >>>>>>>> > >>>>>>>> I would even support going to 120 characters. > >>>>>>>> > >>>>>>>> Acked-by: Stephen Hemminger > >>>>>>> > >>>>>>> I think 100 is enough. > >>>>>>> > >>>>>>> In my case, I have a 1080p 24" monitor, and with two terminals > >>>>>>> side-by-side 100 characters just fits inside each vim window. Going to > >>>>>>> 120 would be fine for single terminal at a time, but I would find > >>>>>>> awkward for e.g. side-by-side diff comparison in meld etc. > >>>>>> > >>>>>> My preference would be to keep things as it is - 80 chars per line. > >>>>>> Having multiple different formatting styles in one source file looks > >>>>>> really awkward and make it hard to follow. > >>>>> > >>>>> +1 > >>>>> > >>>> I wouldn't personally consider increasing the max line length as a style > >>>> change, but even if you consider it such I'd worry about rejecting style > >>>> changes on the basis that it may be different to what is there before. That > >>>> logic means that we can never, ever change any element of DPDK coding style. > >>>> > >>>> I can see the issue with changes that require us to rework the style of > >>>> code in order to comply with the new style, but changing the max length > >>>> from 80 to 100 does not make 80-char lines incorrect and needing changes. > >>> > >>> Another point is: Other projects derived from the Linux kernel coding > >>> standard also > >>> getting migrated to the new coding standard. This change would be useful for: > >>> a) People works on multiple Linux coding standard derived projects > >> > >> Valid point, but not really strong. > >> I think that .editorconfig solves it. > > > > Yes, For adding the code. I meaning, Viewing the code there will be a disparity. > > I hope you're not suggesting to reformat all existing code. > Otherwise the disparity will be there for a long-long time > anyway. > > >> > >>> b) Some of the code such as 'base' and 'common' code for HW drivers > >>> are shared between multiple projects. > >>> Such code needs adjustment/change when pulling to the DPDK code base > >>> it it still follows 80 chars per line. > >> > >> Base and common code are not required to follow DPDK coding > >> style even now. > > > > I see, I dont think it is expressed in devtools/checkpatches.sh. I.e > > CI tools still flag as checkpatch issues. > > Yes, it is an area which should be improved. > > > Coming to original concern:(code disparity with existing code) > > Another option is, It is possible to change existing code to 100 lines > > with clang-format in an automatic fashion. But it will have a lot of > > changes. > > "C_Cpp.clang_format_style": "{ BasedOnStyle: LLVM, > > IndentWidth: 8, TabWidth: 8, UseTab: Always, > > AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, > > ColumnLimit: 100, AllowShortFunctionsOnASingleLine: false, > > AlwaysBreakAfterReturnType: AllDefinitions, ColumnLimit: 100, > > ConstructorInitializerAllOnOneLineOrOnePerLine: true, > > ConstructorInitializerIndentWidth: 8, ContinuationIndentWidth: 8, > > BreakBeforeBraces: Linux, AllowShortBlocksOnASingleLine: false, > > AlignConsecutiveAssignments: false, AlignEscapedNewlines: Right, > > AlignConsecutiveMacros : true, MaxEmptyLinesToKeep : 1, > > Cpp11BracedListStyle : true, AlignTrailingComments : true, > > ForEachMacros: ['TAILQ_FOREACH_SAFE', STAILQ_FOREACH', > > 'rte_graph_foreach_node', 'TAILQ_FOREACH', 'RTE_ETH_FOREACH_DEV']}", > > No, no, no. Please, no. It will complicate backporting a lot, > it will break (over-complicate) git blame. > (I hope it was suggested just to be sure that it will not be > done). +1 for this. I don't think we can ever take any style changes into DPDK which require us to reformat all our existing code. Thankfully, as I've stated before, this is not such a change, since code which is under 80 chars long is also under 100 chars long so no issue. :-)