Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934593AbdDSNyf (ORCPT ); Wed, 19 Apr 2017 09:54:35 -0400 Received: from merlin.infradead.org ([205.233.59.134]:56380 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934530AbdDSNyc (ORCPT ); Wed, 19 Apr 2017 09:54:32 -0400 Date: Wed, 19 Apr 2017 15:54:23 +0200 From: Peter Zijlstra To: Laurent Dufour Cc: linux-mm@kvack.org, Davidlohr Bueso , akpm@linux-foundation.org, Jan Kara , "Kirill A . Shutemov" , Michal Hocko , Mel Gorman , haren@linux.vnet.ibm.com, aneesh.kumar@linux.vnet.ibm.com, khandual@linux.vnet.ibm.com, Paul.McKenney@us.ibm.com, linux-kernel@vger.kernel.org Subject: Re: [RFC 2/4] Deactivate mmap_sem assert Message-ID: <20170419135423.r5zykftem6hrusny@hirez.programming.kicks-ass.net> References: <582009a3f9459de3d8def1e76db46e815ea6153c.1492595897.git.ldufour@linux.vnet.ibm.com> <20170419123051.GA5730@worktop> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 941 Lines: 23 On Wed, Apr 19, 2017 at 03:45:50PM +0200, Laurent Dufour wrote: > On 19/04/2017 14:30, Peter Zijlstra wrote: > > On Wed, Apr 19, 2017 at 02:18:25PM +0200, Laurent Dufour wrote: > >> When mmap_sem will be moved to a range lock, some assertion done in > >> the code are no more valid, like the one ensuring mmap_sem is held. > >> > > > > Why are they no longer valid? > > I didn't explain that very well.. > > When using a range lock we can't check that the lock is simply held, but > if the range we are interesting on is locked or not. I don't think it matters.. That is, in general you cannot assume anything about the ranges, therefore, for deadlock analysis you have to assume each range is the full range. Once you're there, and assume that each range is the full range, this test is once again trivial. The fact that not all ranges are the full range, is merely a performance consideration, but should not be a correctness issue.