Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754703Ab3JHHPp (ORCPT ); Tue, 8 Oct 2013 03:15:45 -0400 Received: from lgeamrelo01.lge.com ([156.147.1.125]:49410 "EHLO LGEAMRELO01.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753882Ab3JHHPo (ORCPT ); Tue, 8 Oct 2013 03:15:44 -0400 X-AuditID: 9c93017d-b7c3aae000004019-85-5253b11dfb74 Date: Tue, 8 Oct 2013 16:17:00 +0900 From: Minchan Kim To: KOSAKI Motohiro Cc: "H. Peter Anvin" , John Stultz , LKML , Andrew Morton , Android Kernel Team , Robert Love , Mel Gorman , Hugh Dickins , Dave Hansen , Rik van Riel , Dmitry Adamushko , Dave Chinner , Neil Brown , Andrea Righi , Andrea Arcangeli , "Aneesh Kumar K.V" , Mike Hommey , Taras Glek , Dhaval Giani , Jan Kara , Michel Lespinasse , Rob Clark , "linux-mm@kvack.org" Subject: Re: [PATCH 05/14] vrange: Add new vrange(2) system call Message-ID: <20131008071700.GC29509@bbox> References: <525347BE.7040606@zytor.com> <525349AE.1070904@linaro.org> <52534AEC.5040403@zytor.com> <20131008001306.GD25780@bbox> <52535EE1.3060700@zytor.com> <20131008020847.GH25780@bbox> <52537326.7000505@gmail.com> <20131008030736.GA29509@bbox> <52538B95.6080208@gmail.com> <20131008071202.GB29509@bbox> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20131008071202.GB29509@bbox> User-Agent: Mutt/1.5.21 (2010-09-15) X-Brightmail-Tracker: AAAAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2090 Lines: 55 On Tue, Oct 08, 2013 at 04:12:02PM +0900, Minchan Kim wrote: > On Tue, Oct 08, 2013 at 12:35:33AM -0400, KOSAKI Motohiro wrote: > > (10/7/13 11:07 PM), Minchan Kim wrote: > > >Hi KOSAKI, > > > > > >On Mon, Oct 07, 2013 at 10:51:18PM -0400, KOSAKI Motohiro wrote: > > >>>Maybe, int madvise5(addr, length, MADV_DONTNEED|MADV_LAZY|MADV_SIGBUS, > > >>> &purged, &ret); > > >>> > > >>>Another reason to make it hard is that madvise(2) is tight coupled with > > >>>with vmas split/merge. It needs mmap_sem's write-side lock and it hurt > > >>>anon-vrange test performance much heavily and userland might want to > > >>>make volatile range with small unit like "page size" so it's undesireable > > >>>to make it with vma. Then, we should filter out to avoid vma split/merge > > >>>in implementation if only MADV_LAZY case? Doable but it could make code > > >>>complicated and lost consistency with other variant of madvise. > > >> > > >>I haven't seen your performance test result. Could please point out URLs? > > > > > >https://lkml.org/lkml/2013/3/12/105 > > > > It's not comparison with and without vma merge. I'm interest how much benefit > > vmas operation avoiding have. > > I had an number but lost it so I should set up it in my KVM machine :( > And I needed old kernel 3.7.0 for testing vma-based approach. > > DRAM:2G, CPU : 12 > > kernel 3.7.0 > > jemalloc: 20527 records/s > jemalloc vma based approach : 5360 records/s > > vrange call made worse because every thread stuck with mmap_sem. > > kernel 3.11.0 > > jemalloc: 21176 records/s > jemalloc vroot tree approach: 103637 records/s > > It could enhance 5 times. And please keep in mind that vrange's user might want to small vrange like PAGE_SIZE. If we go with vma-based approach, we would consume memory with lots of vm_area_struct. -- Kind regards, Minchan Kim -- 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/