Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2989427imu; Sun, 9 Dec 2018 14:26:03 -0800 (PST) X-Google-Smtp-Source: AFSGD/V4oGqdq9WpGCSY9dAKjuh5hpNeAQsAOpMcTnhQyxwPdIsfv9et0vIoOZZkYmTbH5idLU/u X-Received: by 2002:a62:1709:: with SMTP id 9mr9949846pfx.249.1544394363415; Sun, 09 Dec 2018 14:26:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544394363; cv=none; d=google.com; s=arc-20160816; b=RkdLg9nl5l8fXOBziiTyY5p2YuUP4uWK2b8fLZFiMow9bcZF6FE+oAJj7VoMAgKk// yA8a6AbZ07tZJ8Te/Kn1Q43EocLcLod1S74oSizXLCoSCARa9ye9XQnI4YTTy8W6cKdy fg1JujhYG0+pSUHgcim+zinQpvzQWroC7CImDbcdgB32BamolTslAEN9qneD23GdAqh9 XKZGrw70UY26uJkyn+qFkzmZZp7v06HV9XntnqeNL79yp+i8lvEbbRaGk9szD3gvSDWM ABIjCRAsq7RPcB+lEI5Uqp9bI4hMA4ezJjxXdEWqw/0ugwWRo0Z+V6amGEN7hICQwaf8 B9cA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=rz6dV/9jEFRVGtFoKFzcGwtZ4yYiuaIZqGVm77mguSU=; b=ZBztEKHIInF/LiHahcvGzZGU/rgSzQ/CWMikeNmjpwig+zOrpLy6Luy8y8ZNUBmZAq 6D/T62nZ/X2F6ikp5q7zt6rBBdtPNM/VwVhmHJHQwdkoueX/uFeqyRqOahHh9DTDmC7U DgV7uzmcvHwqaPZEK6quBz2flfYJwFZmJSl4/rtdYBi4zdGVKLpoeJl4/9T/az3sQf7E ms1O0u2LGheXS5N6jLJBBoV6578vaHv6+r5Q3GVWm8vv6ihH02U8tnbJAY+xAbPnRc71 2xzFf9yILe563v44krdhc8iI8IG1Y2v7+SoRk0zlRUg9zsleat8y4duQx6MF9oajGIhD zCvQ== ARC-Authentication-Results: i=1; mx.google.com; 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 v83si9093963pfk.264.2018.12.09.14.25.48; Sun, 09 Dec 2018 14:26:03 -0800 (PST) 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; 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 S1728596AbeLIWXG (ORCPT + 99 others); Sun, 9 Dec 2018 17:23:06 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:35156 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726502AbeLIVzU (ORCPT ); Sun, 9 Dec 2018 16:55:20 -0500 Received: from pub.yeoldevic.com ([81.174.156.145] helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gW72h-0002iq-RL; Sun, 09 Dec 2018 21:55:16 +0000 Received: from ben by deadeye with local (Exim 4.91) (envelope-from ) id 1gW72e-0003R2-A6; Sun, 09 Dec 2018 21:55:12 +0000 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, "Nicholas Piggin" , "David Miller" , "Peter Zijlstra" , "Rik van Riel" , "Michael Ellerman" , "Will Deacon" , "Martin Schwidefsky" , "Linus Torvalds" Date: Sun, 09 Dec 2018 21:50:33 +0000 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) X-Patchwork-Hint: ignore Subject: [PATCH 3.16 159/328] mm/tlb: Remove tlb_remove_table() non-concurrent condition In-Reply-To: X-SA-Exim-Connect-IP: 81.174.156.145 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.62-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Peter Zijlstra commit a6f572084fbee8b30f91465f4a085d7a90901c57 upstream. Will noted that only checking mm_users is incorrect; we should also check mm_count in order to cover CPUs that have a lazy reference to this mm (and could do speculative TLB operations). If removing this turns out to be a performance issue, we can re-instate a more complete check, but in tlb_table_flush() eliding the call_rcu_sched(). Fixes: 267239116987 ("mm, powerpc: move the RCU page-table freeing into generic code") Reported-by: Will Deacon Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rik van Riel Acked-by: Will Deacon Cc: Nicholas Piggin Cc: David Miller Cc: Martin Schwidefsky Cc: Michael Ellerman Signed-off-by: Linus Torvalds Signed-off-by: Ben Hutchings --- mm/memory.c | 9 --------- 1 file changed, 9 deletions(-) --- a/mm/memory.c +++ b/mm/memory.c @@ -359,15 +359,6 @@ void tlb_remove_table(struct mmu_gather tlb->need_flush = 1; - /* - * When there's less then two users of this mm there cannot be a - * concurrent page-table walk. - */ - if (atomic_read(&tlb->mm->mm_users) < 2) { - __tlb_remove_table(table); - return; - } - if (*batch == NULL) { *batch = (struct mmu_table_batch *)__get_free_page(GFP_NOWAIT | __GFP_NOWARN); if (*batch == NULL) {