Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030805AbbDWTBF (ORCPT ); Thu, 23 Apr 2015 15:01:05 -0400 Received: from e32.co.us.ibm.com ([32.97.110.150]:33612 "EHLO e32.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030609AbbDWTBB (ORCPT ); Thu, 23 Apr 2015 15:01:01 -0400 Date: Thu, 23 Apr 2015 12:00:56 -0700 From: "Paul E. McKenney" To: Christoph Lameter Cc: Benjamin Herrenschmidt , linux-kernel@vger.kernel.org, linux-mm@kvack.org, jglisse@redhat.com, mgorman@suse.de, aarcange@redhat.com, riel@redhat.com, airlied@redhat.com, aneesh.kumar@linux.vnet.ibm.com, Cameron Buschardt , Mark Hairgrove , Geoffrey Gerfin , John McKenna , akpm@linux-foundation.org Subject: Re: Interacting with coherent memory on external devices Message-ID: <20150423190056.GP5561@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <20150421214445.GA29093@linux.vnet.ibm.com> <1429663372.27410.75.camel@kernel.crashing.org> <20150422005757.GP5561@linux.vnet.ibm.com> <1429664686.27410.84.camel@kernel.crashing.org> <1429756070.4915.17.camel@kernel.crashing.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15042319-0005-0000-0000-00000A4C2E66 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1954 Lines: 46 On Thu, Apr 23, 2015 at 09:20:55AM -0500, Christoph Lameter wrote: > On Thu, 23 Apr 2015, Benjamin Herrenschmidt wrote: > > > > There are hooks in glibc where you can replace the memory > > > management of the apps if you want that. > > > > We don't control the app. Let's say we are doing a plugin for libfoo > > which accelerates "foo" using GPUs. > > There are numerous examples of malloc implementation that can be used for > apps without modifying the app. Except that the app might be mapping a file or operating on a big array in bss instead of (or as well as) using malloc()ed memory. > > Now some other app we have no control on uses libfoo. So pointers > > already allocated/mapped, possibly a long time ago, will hit libfoo (or > > the plugin) and we need GPUs to churn on the data. > > IF the GPU would need to suspend one of its computation thread to wait on > a mapping to be established on demand or so then it looks like the > performance of the parallel threads on a GPU will be significantly > compromised. You would want to do the transfer explicitly in some fashion > that meshes with the concurrent calculation in the GPU. You do not want > stalls while GPU number crunching is ongoing. Yep. But for throughput-oriented applications, as long as stalls don't happen very often, this can be OK. > > The point I'm making is you are arguing against a usage model which has > > been repeatedly asked for by large amounts of customer (after all that's > > also why HMM exists). > > I am still not clear what is the use case for this would be. Who is asking > for this? Ben and I are. I have added a use case, which I will send out shortly with the next version. Thanx, Paul -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/