Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp311956imm; Tue, 15 May 2018 01:58:53 -0700 (PDT) X-Google-Smtp-Source: AB8JxZr2hB98XbhYYLf0Q/CaXVv3Crg+ijR4rl5e3t9E9mPIiXtEylvEaAB9tosNr6ngFdN6LHLD X-Received: by 2002:a62:f55b:: with SMTP id n88-v6mr14252630pfh.208.1526374733825; Tue, 15 May 2018 01:58:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526374733; cv=none; d=google.com; s=arc-20160816; b=zvT5pztjgJssO7L90RmUWNBFpBuugNxsG/v/7XLFHrWu5JEKsgS6Z8duWvp3dOpRG4 CpHjU+RePKw9l5X+UnbEn43UrcFr84EcgcxJ2ZFhn3Reg1kwtjTWqRPQpOSaJBlmqggA BmByuY8UjpDTDgl4rM6r5dlO7odUiDbLst6a0xt9Q9YPj/QxGN0JsGtaQd1PpH/tiKZo k7A25X4qsfDbZGf5EeWqiIpiuEV4WBViao1DuOCRtJBH4cu2h7QsCnCU09K/nTJ5ctQx xj8GJehzlv847+GZeQD1Oh6wPGIJPh0iOXaqFBZaG4/dfuoxlMIB3LSK2xTRtrRs0Jkx SdXw== 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:date:from:dkim-signature:arc-authentication-results; bh=tykfmoq2qwtP5IivIWUXLl8u2z5Eq5YPw8yVUxy9lbo=; b=xk9A1reBzdPAxO38HYk18ozZ4XhLZn1ap8G6GWLZwPRmsbV0FNE4nPHRaeMS05WJfr GJjXTVyN8AmsfPZ6kPO1Pbr/Af72G4S+3ojxigAW1XrsEPqJ6KZESL8aqwZ5me95KHVg Byx9mf499hDxMLBfWRz9L1Rykd7/wW69xwvpq5AR3bvZUJJz2gA/GmCwQp7xlb6JZBDX hZk+VQEXVVb7HaD+wf5F6wjNN5wYoExADLaFQVb6XbtTZJg7YaK1W+GMB1XQrWkTHMsB TDeuKO98BZwAxahzNVrRfFOS+xBZHcWc93e688BMLK0i/BglWDvozrgR/3iy3Qaj2p+6 v/fg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Y3LR0Q2O; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b26-v6si11899822pff.251.2018.05.15.01.58.39; Tue, 15 May 2018 01:58:53 -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=pass header.i=@gmail.com header.s=20161025 header.b=Y3LR0Q2O; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752615AbeEOI4i (ORCPT + 99 others); Tue, 15 May 2018 04:56:38 -0400 Received: from mail-pg0-f49.google.com ([74.125.83.49]:42522 "EHLO mail-pg0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752556AbeEOI4Q (ORCPT ); Tue, 15 May 2018 04:56:16 -0400 Received: by mail-pg0-f49.google.com with SMTP id p9-v6so6713861pgc.9 for ; Tue, 15 May 2018 01:56:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=tykfmoq2qwtP5IivIWUXLl8u2z5Eq5YPw8yVUxy9lbo=; b=Y3LR0Q2Ozw8zdAGu6E8x+4VxxVrqVSHfhE9R1b5V2trzdehnU80Ep4OooKQihfz42V ZWWMSV3kGJ8TgGFT04/9jM1JsmQRbehphv0o6Y2ZR/JrR5CK7hd/VJ+vVVjKC5i4wRQx rtoy4ZkzSMd/tJDNQbKxaXmDwatwQrIolLBgvT8XNNFP6X+JBSQiWsPQ6vxu2eKvAMOW ELpY/8RwE1i6c8VvC9mHF3LJvwEHHQ1uDjfZdLdUBC0UPSnnHzCLgjRyLFZICQTqezwU fKgormk8X13bhC9v96iOh6Z0vszVMAgZYO/kYVJpmcAreDrbObvtpkizID4FE4IkTT9A SH2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=tykfmoq2qwtP5IivIWUXLl8u2z5Eq5YPw8yVUxy9lbo=; b=Q/4BEMdBATElfYSythvOObVkb3eqO91x0GsivJ7JVAT1YNegXengK8a6+YDSIpqg09 0a8TQuJSSoZkYy1Cy/NUM+Zfc/p51m7aXQ+vu4Mm/VzyYXiM00woTb4N1AbxufxDOSYK ZeaCAtW108eVLyhwlPmEhedCORqDt7EEH33SH6W9k3RDvUo6xkK6HD+dIz3kxzZZv8z7 7H9yNrQEy/r0YYZcTOaZ1V872ZJZ5PawZZe7Etl/zWTPMWIHRl/1dPM1tbn+EU9GwDsF XBFAmaWCKOX5QbbgL0CacUjjKTchqKtmEp9cKfPGMnJMcCvpa4TjvOfCdWJZxAeLJ5v2 jr3A== X-Gm-Message-State: ALKqPwc2aTu1qoLxCfa/Kk8l7IC+pUgdBGXeKHyDud9L6fX02XKSzsK4 iWoX6SD27JTaTVS5D5pNdSw= X-Received: by 2002:a63:714d:: with SMTP id b13-v6mr11415330pgn.271.1526374575311; Tue, 15 May 2018 01:56:15 -0700 (PDT) Received: from rodete-desktop-imager.corp.google.com ([2401:fa00:d:10:affa:813f:5380:6613]) by smtp.gmail.com with ESMTPSA id y20-v6sm16132944pgv.27.2018.05.15.01.56.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 15 May 2018 01:56:14 -0700 (PDT) From: Minchan Kim X-Google-Original-From: Minchan Kim Date: Tue, 15 May 2018 17:56:10 +0900 To: Martijn Coenen Cc: Minchan Kim , Joel Fernandes , LKML , Ganesh Mahendran , Joe Perches , Arve =?iso-8859-1?B?SGr4bm5lduVn?= , Todd Kjos , Greg Kroah-Hartman Subject: Re: [PATCH v6] ANDROID: binder: change down_write to down_read Message-ID: <20180515085610.GA98128@rodete-desktop-imager.corp.google.com> References: <20180507141537.4855-1-minchan@kernel.org> <20180507172829.GA66161@joelaf.mtv.corp.google.com> <20180508105101.GB8209@rodete-desktop-imager.corp.google.com> <20180508230813.GA102094@joelaf.mtv.corp.google.com> <20180509064023.GD8209@rodete-desktop-imager.corp.google.com> <20180509231941.GA4790@joelaf.mtv.corp.google.com> <20180515062732.GA183759@rodete-desktop-imager.corp.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 Tue, May 15, 2018 at 09:46:01AM +0200, Martijn Coenen wrote: < snip > > >> About the unmap at runtime part, your commit message was a bit confusing. You > >> said "every binder buffers should be mapped in advance by binder_mmap." but I > >> think the new binder shrinker mechanism doesn't make that true anymore. > > > > It's good point. I didn't know know that. > > When I see binder_vm_fault, it emits SIGBUS. That means shrinker cannot zap pages > > process is using, I think. IOW, every pages for binder are mapped at mmap time > > and is never mapped in runtime by page fault. Right? > > Right - the address range is allocated once, and an initial amount of > pages is mapped into it. For every transaction into that process, we > will see if there's enough pages, and if not allocate so that we have > enough of them - so this is not done by page fault. The shrinker won't > touch pages for which a transaction is in progress. Of course a > process itself could still try to read from an unallocated address, > but in that case returning SIGBUS and having that process crash seems > fine. Thanks for the confirmation. > > I'm also not sure the read lock is needed, but I would need to read a > whole lot more code to convince myself it's not. For page zapping, we shouldn't need mmap_sem write lock. We should replace it with down_read/write, too. Thanks.