From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx115.postini.com [74.125.245.115]) by kanga.kvack.org (Postfix) with SMTP id 02F506B0034 for ; Thu, 9 May 2013 22:29:09 -0400 (EDT) Received: by mail-oa0-f45.google.com with SMTP id j6so3241519oag.4 for ; Thu, 09 May 2013 19:29:09 -0700 (PDT) Message-ID: <518C5B5E.4010706@gmail.com> Date: Fri, 10 May 2013 10:28:46 +0800 From: wenchao MIME-Version: 1.0 Subject: Re: [RFC PATCH V1 0/6] mm: add a new option MREMAP_DUP to mmrep syscall References: <1368093011-4867-1-git-send-email-wenchaolinux@gmail.com> <20130509141329.GC11497@suse.de> In-Reply-To: <20130509141329.GC11497@suse.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: owner-linux-mm@kvack.org List-ID: To: Mel Gorman Cc: linux-mm@kvack.org, akpm@linux-foundation.org, hughd@google.com, walken@google.com, viro@zeniv.linux.org.uk, kirill.shutemov@linux.intel.com, xiaoguangrong@linux.vnet.ibm.com, anthony@codemonkey.ws, stefanha@gmail.com ao? 2013-5-9 22:13, Mel Gorman a??e??: > On Thu, May 09, 2013 at 05:50:05PM +0800, wenchaolinux@gmail.com wrote: >> From: Wenchao Xia >> >> This serial try to enable mremap syscall to cow some private memory region, >> just like what fork() did. As a result, user space application would got a >> mirror of those region, and it can be used as a snapshot for further processing. >> > > What not just fork()? Even if the application was threaded it should be > managable to handle fork just for processing the private memory region > in question. I'm having trouble figuring out what sort of application > would require an interface like this. > It have some troubles: parent - child communication, sometimes page copy. I'd like to snapshot qemu guest's RAM, currently solution is: 1) fork() 2) pipe guest RAM data from child to parent. 3) parent write down the contents. To avoid complex communication for data control, and file content protecting, So let parent instead of child handling the data with a pipe, but this brings additional copy(). I think an explicit API cow mapping an memory region inside one process, could avoid it, and faster and cow less pages, also make user space code nicer. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org