Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp2749441imm; Wed, 3 Oct 2018 08:36:18 -0700 (PDT) X-Google-Smtp-Source: ACcGV63xlMvqxWZgbQ7AvLUSeVAvcL5Og8NDI8o9qfo8QMsRJ77b9pXN4FaqbZ/8zh/EkTkh933e X-Received: by 2002:a63:541e:: with SMTP id i30-v6mr1867298pgb.413.1538580978731; Wed, 03 Oct 2018 08:36:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538580978; cv=none; d=google.com; s=arc-20160816; b=xPlh/mRNO7jWpkyXSQjoH22U2Uwa/vxyL1Q7w+Q4V2dgR6fm0Y08a2VC8KAkWvgFyR IYXkbpuhLmGsqkoDWZ3kJ3R2zJdW2VdhfYsW+dLrOimLKeX57rWn2hnkLHYQqv07LO4r 0AjrvrpzmKQIbz5KE/a8tu3EJ8CjXe0TBLP7eq4e+YJtdTUAaO+jDGSwqWN5ASnZLOob vpuPYkXuE2gK819TPe77neNUHmorEmmRLYllCe1ayJYQFDpUBx56XsuqPyzNqaShwH2e 66hLBUubuVxTsN71hxh9vQ/Zk5LGrrTKljTX9u0NU8+0DD+hCLymq//BRB3CY9RfP7dF kkIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:dkim-signature; bh=IgUH+wccZfyBwYBvcoEsdtmL+lfBX0dNy5P8XKGVI54=; b=NrJ9EYt1zn2E+E487oc3CH+kHWCIA1C85DIUpaEPf35ocXpnrJ3AwmLCmanq0RS8Qa 0TrVSy+YR9UtLexlep8d5WJo+UpQmHlRpZ18iZ0IQPi/aE+PbGQ+6mM0I/b2yF55qkG7 sElLpAVTN691f1M/39iR12190XvZts/Cz7Lm5EoHYL6i1c19Z821QVJ5kASmP+IzR+UH faUOIQTJA5FPbh0+WeSqg59/2ljiuMC3sMECbotZGuMwaRwmrkLIHKfNlEwjkDmY7oNH JAjz2ltf6EH10TuTkCB83sDDyhpczHLdO/Ey6lWd3oZMwAvhSgxUrOaB91eWendSlHzg cj4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@thunk.org header.s=ef5046eb header.b=wPbijM0Q; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u68-v6si2000623pfa.28.2018.10.03.08.36.03; Wed, 03 Oct 2018 08:36:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@thunk.org header.s=ef5046eb header.b=wPbijM0Q; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727374AbeJCWW6 (ORCPT + 99 others); Wed, 3 Oct 2018 18:22:58 -0400 Received: from imap.thunk.org ([74.207.234.97]:34230 "EHLO imap.thunk.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726748AbeJCWW6 (ORCPT ); Wed, 3 Oct 2018 18:22:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=thunk.org; s=ef5046eb; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=IgUH+wccZfyBwYBvcoEsdtmL+lfBX0dNy5P8XKGVI54=; b=wPbijM0QhycH/1j7hMTxDKqMqC 380DQffsSZyV1/Bq0G7HBB6UAIVLcv5CbiMfNh8wqXcNoL+HZAW2hAO+WAKyjURCCvvEXGDHpquyT OokvVnhjFiEW5ogrF2mOaD4O4EX1btXFDJnoZWRu2zCw/WHzVdVcfXdDvYjkFGCYWBc4=; Received: from root (helo=callcc.thunk.org) by imap.thunk.org with local-esmtp (Exim 4.89) (envelope-from ) id 1g7j96-0006iB-6e; Wed, 03 Oct 2018 15:33:04 +0000 Received: by callcc.thunk.org (Postfix, from userid 15806) id 68FDC7A0136; Wed, 3 Oct 2018 11:33:03 -0400 (EDT) Date: Wed, 3 Oct 2018 11:33:03 -0400 From: "Theodore Y. Ts'o" To: Miguel Ojeda Cc: Nick Desaulniers , Andrew Morton , Greg KH , Linux-Next Mailing List , Andreas Dilger , Masahiro Yamada , Michal Marek , Steven Rostedt , Mauro Carvalho Chehab , Olof Johansson , Konstantin Ryabitsev , David Miller , Andrey Ryabinin , Kees Cook , Thomas Gleixner , Ingo Molnar , Paul Lawrence , Sandipan Das , Andrey Konovalov , David Woodhouse , Will Deacon , Philippe Ombredanne , Paul Burton , David Rientjes , Willy Tarreau , Martin Sebor , Christopher Li , Jonathan Corbet , Geert Uytterhoeven , Rasmus Villemoes , Joe Perches , Arnd Bergmann , Dominique Martinet , Stefan Agner , Luc Van Oostenryck , Linus Torvalds , Linux Doc Mailing List , Ext4 Developers List , linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, linux-kernel , Stephen Rothwell Subject: Re: [GIT PULL linux-next] Add Compiler Attributes tree Message-ID: <20181003153303.GC2835@thunk.org> Mail-Followup-To: "Theodore Y. Ts'o" , Miguel Ojeda , Nick Desaulniers , Andrew Morton , Greg KH , Linux-Next Mailing List , Andreas Dilger , Masahiro Yamada , Michal Marek , Steven Rostedt , Mauro Carvalho Chehab , Olof Johansson , Konstantin Ryabitsev , David Miller , Andrey Ryabinin , Kees Cook , Thomas Gleixner , Ingo Molnar , Paul Lawrence , Sandipan Das , Andrey Konovalov , David Woodhouse , Will Deacon , Philippe Ombredanne , Paul Burton , David Rientjes , Willy Tarreau , Martin Sebor , Christopher Li , Jonathan Corbet , Geert Uytterhoeven , Rasmus Villemoes , Joe Perches , Arnd Bergmann , Dominique Martinet , Stefan Agner , Luc Van Oostenryck , Linus Torvalds , Linux Doc Mailing List , Ext4 Developers List , linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, linux-kernel , Stephen Rothwell References: <20181003071059.02b3fd6f@canb.auug.org.au> <20181002232454.GB2483@thunk.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@thunk.org X-SA-Exim-Scanned: No (on imap.thunk.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 03, 2018 at 01:54:05PM +0200, Miguel Ojeda wrote: > > Exactly. And for this case, I simply assumed Stephen wanted a clean > series to apply on top of the latest next-* tag (same way we base > stuff on top of -rc*s). Note that this is *not* really a "tree" > collecting changes/development, it is a patch series, i.e. what is > important is only the range-diff. > > What has surprised me is that -next does not allow for range-diffs > (patches/commits/...) to be inside -next, maybe applied after all the > normal merges of trees. I simply assumed it did, given what I could > find about -next (which does not seem to be documented properly, by > the way). Part of the reason why I wrote my long message was because the -next tree usage has been mostly by convention. Better documentation would be a good thing; I think the main reason why we don't have it is that historically, the people who submit direct pull requests to Linus already know how things work. Obviously that's not a great assumption, but in fact there are a large number of things about what is needed to be a subsystem maintainer which needs to be documented, and the linux-next tree is just one part of it. (And perhaps not even the biggest part.) Historically there was one source of changes into the linux-next tree which was done as quilt-style patch series, and that was Andrew Morton's mmotm tree. Part of the problem is that it's a lot more work to consume a patch series, and so these days while Andrew still uses a patch series, he exports a git tree[1] which is what I believe Stephen and Linus use. (For that matter, I use a patch series[2] as well, but the public interface is the ext4.git tree on git.kernel.org.) [1] https://www.ozlabs.org/~akpm/mmotm/mmotm-readme.txt [2] https://ext4.wiki.kernel.org/index.php/Ext4_patchsets > While this is a simple conflict, I don't really agree with release > maintainers having to fix conflicts on the fly (even if it is a single > trivial line), but that is an orthogonal discussion... Sure; there are some srtong reasons for it, but we can save that for the Maintainer's Handbook discussion. I will say that this is something where attempts to avoid Linus needing to fix conflicts on the fly, such as a rebase right before a PULL request, violates Linus's rules which has in the past resulted in him expressing a "strong" correction e-mail to Maintainers since it was assumed that they really should have known better. Linus has said he doesn't want to yell at Maintainers, so we can support him by getting the Maintainer's Handbook out there. :-) > Alright, I am not sure how to answer this without sounding > "aggressive" and maybe I misunderstood something you tried to point > out, so I apologize in advance. There are several points here: > > * The merge conflict isn't related to this (but let's assume it was, > since you pointed this out as an example -- I guess; although I am not > sure why). I thought I was clear that I used it as an example, but my apologies if that didn't come across. > - Changes should include everything related to them (as far as > possible, i.e. extreme examples aside). Adding __nonstring and not > removing the ext4 part would simply be leaving undone work (which has > to be done sooner or later). To be honest, it could have even been > done in the same commit and I would say it is logically OK (even if > not great). > ... > > You seem to argue that it is better to avoid merge conflicts rather > than doing a proper series. Well, I think we should really try to > avoid conflicts pushing down the """quality""" of > patches/commits/series. And I think this is where the disagreement lies, which is why I bothered to send my long missive in the first place. From my point of view, and I suspect many maintainers share this, avoiding merge conflicts is way important than making sure everything is "done" in a single patch series. There have been plenty of changes where cleanup is done latter, and/or where preparatory patches are done in one release, and the big change happens in the next release, 3 months later. That's because some of the alternatives, such as basing your git tree on an unstable head branch, such as linux-next, or a last minute rebase which means that the actual patches that which gets the pull rebase hasn't been tested or soaked in linux-next, are far worse because it can lead to lower quality git trees getting merged during the merge window. There is a tension here between maximizing the "quality" of a patch series, and maximizing the "quality" of the git trees that feed into the merge window. Or perhaps the better way of saying this is minimizing the risk of bad changes getting integreted during the merge window. Some technical debt which gets cleaned up in the next release is in my view a very low price to pay in order to minimize risk. Part of this is because I've had to waste time debugging changes made to the ext4 sources which came in via someone else's git tree that were "obviously correct" or "trivial changes" --- but they weren't. Most of the time they get caught as part of linux-next testing, but not always. So sometimes the interests of one subsystem maintainer can end up conflicting with the interests of the patch series author, or the interests of another subsystem maintainer. And that's why we have some of these "cultural understandings", many of which we clearly need to document. (And yes, in this case I didn't object to the cleanup being in your patch series; normally I don't care, unless it actually break things. I was just trying to make the point from my perspective, nothing *required* that the change be in your git tree, and if it *was* causing the problem, I had gone out of my way to make sure to make it easy for you to drop the change; and from my perspective I was doing you --- and me :-) --- a favor when I added the outer #ifndef, which I had done with full consideration, specifically for this reason. Even if the definition was different, my definition *had* been fully tested with over a 27+ VM hours of regression testing, and if it turned out that they were different, cleaning that up three months from now in the next release is just *fine* as far as I'm concerned.) Cheers, - Ted