From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrea Arcangeli Subject: Re: [PATCH] mmu notifiers #v5 Date: Sun, 3 Feb 2008 04:33:18 +0100 Message-ID: <20080203033318.GE7185@v2.random> References: <20080131045750.855008281@sgi.com> <20080131171806.GN7185@v2.random> <20080131234101.GS7185@v2.random> <20080201120955.GX7185@v2.random> <20080203021704.GC7185@v2.random> <20080203031457.GA16127@sgi.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: Peter Zijlstra , linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Avi Kivity , kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, daniel.blueman-xqY44rlHlBpWk0Htik3J/w@public.gmane.org, Robin Holt , Christoph Lameter To: Jack Steiner Return-path: Content-Disposition: inline In-Reply-To: <20080203031457.GA16127-sJ/iWh9BUns@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org On Sat, Feb 02, 2008 at 09:14:57PM -0600, Jack Steiner wrote: > Also, most (but not all) applications that use the GRU do not usually do > anything that requires frequent flushing (fortunately). The GRU is intended > for HPC-like applications. These don't usually do frequent map/unmap > operations or anything else that requires a lot of flushes. > > I expect that KVM is a lot different. I don't think so. invalidate_page/pages/range_start,end is a slow and unfrequent path for KVM (or alternatively the ranges are very small in which case _range_start/end won't payoff compared to _pages). Whenever invalidate_page[s] become a fast path, we're generally I/O bound. get_user_pages is always the fast path instead. I thought it was much more important that get_user_pages scale as well as it does now and that the KVM page fault isn't serialized with a mutex, than whatever invalidate side optimization. get_user_pages may run frequently from all vcpus even if there are no invalidates and no memory pressure and I don't mean only during startup. > I have most of the GRU code working with the latest mmuops patch. I still > have a list of loose ends that I'll get to next week. The most important is > the exact handling of the range invalidates. The code that I currently have > works (mostly) but has a few endcases that will cause problems. Once I > finish, I'll be glad to send you snippets of the code (or all of it) if you > would like to take a look. Sure. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/