Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752052AbeABH5b (ORCPT + 1 other); Tue, 2 Jan 2018 02:57:31 -0500 Received: from LGEAMRELO11.lge.com ([156.147.23.51]:49669 "EHLO lgeamrelo11.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750736AbeABH53 (ORCPT ); Tue, 2 Jan 2018 02:57:29 -0500 X-Original-SENDERIP: 156.147.1.151 X-Original-MAILFROM: byungchul.park@lge.com X-Original-SENDERIP: 10.177.222.184 X-Original-MAILFROM: byungchul.park@lge.com Subject: Re: About the try to remove cross-release feature entirely by Ingo To: Matthew Wilcox Cc: Theodore Ts'o , 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 References: <20171229014736.GA10341@X58A-UD3R> <20171229035146.GA11757@thunk.org> <20171229072851.GA12235@X58A-UD3R> <20171230061624.GA27959@bombadil.infradead.org> From: Byungchul Park Message-ID: <5256580e-27d3-8c16-5ba6-45f5a06e857a@lge.com> Date: Tue, 2 Jan 2018 16:57:23 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <20171230061624.GA27959@bombadil.infradead.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 12/30/2017 3:16 PM, Matthew Wilcox wrote: > On Fri, Dec 29, 2017 at 04:28:51PM +0900, Byungchul Park wrote: >> On Thu, Dec 28, 2017 at 10:51:46PM -0500, Theodore Ts'o wrote: >>> On Fri, Dec 29, 2017 at 10:47:36AM +0900, Byungchul Park wrote: >>>> >>>> (1) The best way: To classify all waiters correctly. >>> >>> It's really not all waiters, but all *locks*, no? >> >> Thanks for your opinion. I will add my opinion on you. >> >> I meant *waiters*. Locks are only a sub set of potential waiters, which >> actually cause deadlocks. Cross-release was designed to consider the >> super set including all general waiters such as typical locks, >> wait_for_completion(), and lock_page() and so on.. > > I think this is a terminology problem. To me (and, I suspect Ted), a > waiter is a subject of a verb while a lock is an object. So Ted is asking > whether we have to classify the users, while I think you're saying we > have extra objects to classify. > > I'd be comfortable continuing to refer to completions as locks. We could > try to come up with a new object name like waitpoints though? Right. Then "event" should be used as an object name than "waiter". >> 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 As you know, the classification is something already considering the interactions between the subsystems and classified. But, yes. That is just what we have to do untimately but not what we can do right away. That's why I suggested all 3 ways + 1 way (by Amir). > subsystems that leads to problems. Everything's goig to work great > until somebody does something in a way that's never been tried before. Yes. Everything has worked great so far, since the classification by now is done well enough at least to avoid such problems, not perfect though. IMO, the classification does not have to be perfect but needs to be good enough to work. -- Thanks, Byungchul