Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751232AbdL3Uo1 (ORCPT ); Sat, 30 Dec 2017 15:44:27 -0500 Received: from bombadil.infradead.org ([65.50.211.133]:56586 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750828AbdL3UoZ (ORCPT ); Sat, 30 Dec 2017 15:44:25 -0500 Date: Sat, 30 Dec 2017 12:44:17 -0800 From: Matthew Wilcox To: "Theodore Ts'o" , Byungchul Park , Byungchul Park , Thomas Gleixner , Peter Zijlstra , Ingo Molnar , david@fromorbit.com, Linus Torvalds , Amir Goldstein , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, oleg@redhat.com, kernel-team@lge.com, daniel@ffwll.ch Subject: Re: About the try to remove cross-release feature entirely by Ingo Message-ID: <20171230204417.GF27959@bombadil.infradead.org> References: <20171229014736.GA10341@X58A-UD3R> <20171229035146.GA11757@thunk.org> <20171229072851.GA12235@X58A-UD3R> <20171230061624.GA27959@bombadil.infradead.org> <20171230154041.GB3366@thunk.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171230154041.GB3366@thunk.org> User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1396 Lines: 24 On Sat, Dec 30, 2017 at 10:40:41AM -0500, Theodore Ts'o wrote: > On Fri, Dec 29, 2017 at 10:16:24PM -0800, Matthew Wilcox wrote: > > > The problems come from wrong classification. Waiters either classfied > > > well or invalidated properly won't bitrot. > > > > I disagree here. As Ted says, it's the interactions between the > > subsystems that leads to problems. Everything's goig to work great > > until somebody does something in a way that's never been tried before. > > The question what is classified *well* mean? At the extreme, we could > put the locks for every single TCP connection into their own lockdep > class. But that would blow the limits in terms of the number of locks > out of the water super-quickly --- and it would destroy the ability > for lockdep to learn what the proper locking order should be. Yet > given Lockdep's current implementation, the only way to guarantee that > there won't be any interactions between subsystems that cause false > positives would be to categorizes locks for each TCP connection into > their own class. I'm not sure I agree with this part. What if we add a new TCP lock class for connections which are used for filesystems/network block devices/...? Yes, it'll be up to each user to set the lockdep classification correctly, but that's a relatively small number of places to add annotations, and I don't see why it wouldn't work.