Received: by 10.213.65.68 with SMTP id h4csp820666imn; Thu, 22 Mar 2018 09:15:21 -0700 (PDT) X-Google-Smtp-Source: AG47ELuKraQrykRPPHmjuKtv3FoA7EryH82fQ8vosUIZLOpMfTLAg/rYXl8dWs3EvhVBxjyyMAwI X-Received: by 2002:a17:902:227:: with SMTP id 36-v6mr24924581plc.134.1521735321007; Thu, 22 Mar 2018 09:15:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521735320; cv=none; d=google.com; s=arc-20160816; b=EBYhFyKSxJkftGUJpdbKy5XXZ9E3Fzol4MfDV+Zzj3eh4WUOOi0Vh/NPt9JuMz6acR 5oREBZUwaMTw772Ipqxzy6alPzUDmMGQCSFvNj8Szr3B1m6azCnT2G6j0ERxme85GYKh c1e4FmWvevU11ByBH06vM8FZy68eWKrcE0Ai96zDngcMvT2GHL/W26wluW+oMZPTt/vN 9BIDrbwnsbXePqCEWJKtNvxzWbJI8ysv+Fixp0oui1albWQ+aa7QFrrGZwKxpFAoZ2+c fk9zRHOvrBgJalZhnu9IyvHab713niKe5E/42ZG3/CpGFveK4/STXuGsT99b6Vu20IiY wrPA== 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:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=+oicvzDpO0t/5/yLqSzPCsHP017PRT7MEBeiXtZPIEw=; b=mYyl3bOZR0XpBoIRri6lVnLJdyOfRZuCLNUlMVcBhZFe4UWVB1iurprRUcXg1WOfO2 sG1CDu8pTv5/EGCKG8byo41ICb/S0j42Qai8R+aX+zykwrTynQwXCat/ke4HblaUDYMR qmhx4udTjzkBT2iFHRxBExNyzcFix6HjmLvrhA0yt6jHCfPpdoOg1j/HXvOJlQig04px U+bMMchset7HeNtxs4RyaJb3Gy8Ht6vvQr81FkGSmxwwmOqOdrum7N7e2i0ONnD15FZk xJ89Eg/4L4/6cuSLG/FltXctjm6c4VR5jGaFzYFnaE+bUMk9zS/zmUS5BE7UIURYWjxT IlWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=Vo2QxVcX; 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 p4-v6si6484866plr.424.2018.03.22.09.15.06; Thu, 22 Mar 2018 09:15:20 -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=@infradead.org header.s=bombadil.20170209 header.b=Vo2QxVcX; 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 S1751817AbeCVQNU (ORCPT + 99 others); Thu, 22 Mar 2018 12:13:20 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:34198 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750863AbeCVQNS (ORCPT ); Thu, 22 Mar 2018 12:13:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; 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=+oicvzDpO0t/5/yLqSzPCsHP017PRT7MEBeiXtZPIEw=; b=Vo2QxVcX6Oo6SjduJHq5so4kq hV1byZ7+9HNLfeul3ZBPunW2wj0hz8xlTA20x1dZvSD5XuPnjzjyCQ+n0m0HG4TA4c2YRrWWJ8rR2 Lgug1/WBKulWF+2pDXIBq4lKvbvoznFztGoJ+j/1ZTzpaExKEGg80U84UHiLn2afQXuUrMYSiW/+B z5zPVXmFdQZICY7vMY4Wh2uTpodDfP9fBaSG+4CQjguHniXQlWObPOWl0mDXOxQkDcQ+Dt+cBaZDL hwyfeogEpACOByTATURz/PytCZEOempmt3iQRAydG27RiW1k9Kmq83wO0jMTRTs18m2wuA4X0ZkvD ZRni9WpHw==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1ez2q4-0003oG-Sn; Thu, 22 Mar 2018 16:13:16 +0000 Date: Thu, 22 Mar 2018 09:13:16 -0700 From: Matthew Wilcox To: Yang Shi Cc: Michal Hocko , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 1/8] mm: mmap: unmap large mapping by section Message-ID: <20180322161316.GD28468@bombadil.infradead.org> References: <1521581486-99134-1-git-send-email-yang.shi@linux.alibaba.com> <1521581486-99134-2-git-send-email-yang.shi@linux.alibaba.com> <20180321131449.GN23100@dhcp22.suse.cz> <8e0ded7b-4be4-fa25-f40c-d3116a6db4db@linux.alibaba.com> <20180321212355.GR23100@dhcp22.suse.cz> <952dcae2-a73e-0726-3cc5-9b6a63b417b7@linux.alibaba.com> <20180322091008.GZ23100@dhcp22.suse.cz> <8b4407dd-78f6-2f6f-3f45-ddb8a2d805c8@linux.alibaba.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8b4407dd-78f6-2f6f-3f45-ddb8a2d805c8@linux.alibaba.com> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 22, 2018 at 09:06:14AM -0700, Yang Shi wrote: > On 3/22/18 2:10 AM, Michal Hocko wrote: > > On Wed 21-03-18 15:36:12, Yang Shi wrote: > > > On 3/21/18 2:23 PM, Michal Hocko wrote: > > > > On Wed 21-03-18 10:16:41, Yang Shi wrote: > > > > > proc_pid_cmdline_read(), it calls access_remote_vm() which need acquire > > > > > mmap_sem too, so the mmap_sem scalability issue will be hit sooner or later. > > > > Ohh, absolutely. mmap_sem is unfortunatelly abused and it would be great > > > > to remove that. munmap should perform much better. How to do that safely > > The full vma will have to be range locked. So there is nothing small or large. > > It sounds not helpful to a single large vma case since just one range lock > for the vma, it sounds equal to mmap_sem. But splitting mmap_sem into pieces is beneficial for this case. Imagine we have a spinlock / rwlock to protect the rbtree / arg_start / arg_end / ... and then each VMA has a rwsem (or equivalent). access_remote_vm() would walk the tree and grab the VMA's rwsem for read while reading out the arguments. The munmap code would have a completely different VMA write-locked.