Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758265AbcJQJdM (ORCPT ); Mon, 17 Oct 2016 05:33:12 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:51893 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756265AbcJQJc4 (ORCPT ); Mon, 17 Oct 2016 05:32:56 -0400 Date: Mon, 17 Oct 2016 02:32:55 -0700 From: Christoph Hellwig To: Joel Fernandes Cc: Christoph Hellwig , LKML , "open list:MEMORY MANAGEMENT" , linux-rt-users@vger.kernel.org, Chris Wilson , Jisheng Zhang , John Dias , Andrew Morton Subject: Re: [PATCH v3] mm: vmalloc: Replace purge_lock spinlock with atomic refcount Message-ID: <20161017093255.GA17523@infradead.org> References: <20161016061057.GA26990@infradead.org> <1476655575-6588-1-git-send-email-joelaf@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.1 (2016-04-27) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 934 Lines: 17 On Sun, Oct 16, 2016 at 03:48:42PM -0700, Joel Fernandes wrote: > Also, one more thing about the barrier dances you mentioned, this will > also be done by the spinlock which was there before my patch. So in > favor of my patch, it doesn't make things any worse than they were and > actually fixes the reported issue while preserving the original code > behavior. So I think it is a good thing to fix the issue considering > so many people are reporting it and any clean ups of the vmalloc code > itself can follow. I'm not worried about having barriers, we use them all over our synchronization primitives. I'm worried about opencoding them instead of having them in these well defined helpers. So based on this discussion and the feedback from Nick I'll propose a new patch (or rather a series to make it more understandable) that adds a mutex, adds the lockbreak and gives sensible calling conventions to __purge_vmap_area_lazy.