Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-30 Thread Michel Lespinasse
Hi Roman, On Fri, Jan 4, 2013 at 11:43 PM, Michel Lespinasse wrote: > On Fri, Jan 4, 2013 at 10:40 PM, Roman Dubtsov wrote: >> - POPULATE_VIA_LOOP -- makes the test populate memory using a loop >> - POPULATE_VIA_MMAP -- makes the test populate memory via MAP_POPULATE >> > Heh, very interesting.

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-30 Thread Michel Lespinasse
Hi Roman, On Fri, Jan 4, 2013 at 11:43 PM, Michel Lespinasse wal...@google.com wrote: On Fri, Jan 4, 2013 at 10:40 PM, Roman Dubtsov dubt...@gmail.com wrote: - POPULATE_VIA_LOOP -- makes the test populate memory using a loop - POPULATE_VIA_MMAP -- makes the test populate memory via

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-04 Thread Michel Lespinasse
On Fri, Jan 4, 2013 at 10:40 PM, Roman Dubtsov wrote: > On Fri, 2013-01-04 at 03:57 -0800, Michel Lespinasse wrote: >> If this doesn't help, could you please send me your test case ? I >> think you described enough of it that I would be able to reproduce it >> given some time, but it's just

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-04 Thread Roman Dubtsov
On Fri, 2013-01-04 at 03:57 -0800, Michel Lespinasse wrote: > On Fri, Jan 04, 2013 at 12:09:37AM +0700, Roman Dubtsov wrote: > > On Wed, 2013-01-02 at 16:09 -0800, Michel Lespinasse wrote: > > > > Is there an interest in fixing this or concurrent mmaps() from the same > > > > process are too much

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-04 Thread Michel Lespinasse
On Fri, Jan 04, 2013 at 12:09:37AM +0700, Roman Dubtsov wrote: > On Wed, 2013-01-02 at 16:09 -0800, Michel Lespinasse wrote: > > > Is there an interest in fixing this or concurrent mmaps() from the same > > > process are too much of a corner case to worry about it? > > > > Funny this comes up

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-04 Thread Michel Lespinasse
On Fri, Jan 04, 2013 at 12:09:37AM +0700, Roman Dubtsov wrote: On Wed, 2013-01-02 at 16:09 -0800, Michel Lespinasse wrote: Is there an interest in fixing this or concurrent mmaps() from the same process are too much of a corner case to worry about it? Funny this comes up again. I

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-04 Thread Roman Dubtsov
On Fri, 2013-01-04 at 03:57 -0800, Michel Lespinasse wrote: On Fri, Jan 04, 2013 at 12:09:37AM +0700, Roman Dubtsov wrote: On Wed, 2013-01-02 at 16:09 -0800, Michel Lespinasse wrote: Is there an interest in fixing this or concurrent mmaps() from the same process are too much of a corner

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-04 Thread Michel Lespinasse
On Fri, Jan 4, 2013 at 10:40 PM, Roman Dubtsov dubt...@gmail.com wrote: On Fri, 2013-01-04 at 03:57 -0800, Michel Lespinasse wrote: If this doesn't help, could you please send me your test case ? I think you described enough of it that I would be able to reproduce it given some time, but it's

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-03 Thread Roman Dubtsov
On Wed, 2013-01-02 at 16:09 -0800, Michel Lespinasse wrote: > > Is there an interest in fixing this or concurrent mmaps() from the same > > process are too much of a corner case to worry about it? > > Funny this comes up again. I actually have a patch series that is > supposed to do that: >

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-03 Thread Roman Dubtsov
On Wed, 2013-01-02 at 16:09 -0800, Michel Lespinasse wrote: Is there an interest in fixing this or concurrent mmaps() from the same process are too much of a corner case to worry about it? Funny this comes up again. I actually have a patch series that is supposed to do that: [PATCH 0/9]

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-02 Thread Michel Lespinasse
On Wed, Jan 2, 2013 at 8:50 AM, Roman Dubtsov wrote: > Concurrent mmap() calls from the same process are serialized via downing > mm->mmap_sem for write. This means that operations like populating the > pages which do not alter vmas are also performed serially. Anecdotal > data from two machines

mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-02 Thread Roman Dubtsov
Concurrent mmap() calls from the same process are serialized via downing mm->mmap_sem for write. This means that operations like populating the pages which do not alter vmas are also performed serially. Anecdotal data from two machines I have access to is that populating pages by touching them in

mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-02 Thread Roman Dubtsov
Concurrent mmap() calls from the same process are serialized via downing mm-mmap_sem for write. This means that operations like populating the pages which do not alter vmas are also performed serially. Anecdotal data from two machines I have access to is that populating pages by touching them in a

Re: mmap() scalability in the presence of the MAP_POPULATE flag

2013-01-02 Thread Michel Lespinasse
On Wed, Jan 2, 2013 at 8:50 AM, Roman Dubtsov dubt...@gmail.com wrote: Concurrent mmap() calls from the same process are serialized via downing mm-mmap_sem for write. This means that operations like populating the pages which do not alter vmas are also performed serially. Anecdotal data from