All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	linux-mm@kvack.org, kosaki.motohiro@jp.fujitsu.com,
	linux-kernel@vger.kernel.org, linux-api@vger.kernel.org,
	akpm@linux-foundation.org, andrew.c.morrow@gmail.com,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: Re: [PATCH v6] add MAP_UNLOCKED mmap flag
Date: Mon, 18 Jan 2010 17:01:59 +0200	[thread overview]
Message-ID: <20100118150159.GB14345@redhat.com> (raw)
In-Reply-To: <1263826198.4283.600.camel@laptop>

On Mon, Jan 18, 2010 at 03:49:58PM +0100, Peter Zijlstra wrote:
> On Mon, 2010-01-18 at 14:32 +0000, Alan Cox wrote:
> > > this kind of control. As of use of mlockall(MCL_FUTURE) how can I make
> > > sure that all memory allocated behind my application's back (by dynamic
> > > linker, libraries, stack) will be locked otherwise?
> > 
> > If you add this flag you can't do that anyway - some library will
> > helpfully start up using it and then you are completely stuffed or will
> > be back in two or three years adding MLOCKALL_ALWAYS.
> 
> Agreed, mlockall() is a very bad interface and should not be used for a
> plethora of reasons, this being one of them.
> 
There are valid uses for mlockall() and even if the interface is bad there
is no alternative right now, so why not fix one of it problems?

> The thing is, if you cant trust your library to do sane things, then
> don't use it.
> 
Agreed, the are things that sane library should never do: exit() or output
debug info to stdio or meddle with memory mlock/munlock behind application's
back.

--
			Gleb.

--
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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Gleb Natapov <gleb@redhat.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	linux-mm@kvack.org, kosaki.motohiro@jp.fujitsu.com,
	linux-kernel@vger.kernel.org, linux-api@vger.kernel.org,
	akpm@linux-foundation.org, andrew.c.morrow@gmail.com,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: Re: [PATCH v6] add MAP_UNLOCKED mmap flag
Date: Mon, 18 Jan 2010 17:01:59 +0200	[thread overview]
Message-ID: <20100118150159.GB14345@redhat.com> (raw)
In-Reply-To: <1263826198.4283.600.camel@laptop>

On Mon, Jan 18, 2010 at 03:49:58PM +0100, Peter Zijlstra wrote:
> On Mon, 2010-01-18 at 14:32 +0000, Alan Cox wrote:
> > > this kind of control. As of use of mlockall(MCL_FUTURE) how can I make
> > > sure that all memory allocated behind my application's back (by dynamic
> > > linker, libraries, stack) will be locked otherwise?
> > 
> > If you add this flag you can't do that anyway - some library will
> > helpfully start up using it and then you are completely stuffed or will
> > be back in two or three years adding MLOCKALL_ALWAYS.
> 
> Agreed, mlockall() is a very bad interface and should not be used for a
> plethora of reasons, this being one of them.
> 
There are valid uses for mlockall() and even if the interface is bad there
is no alternative right now, so why not fix one of it problems?

> The thing is, if you cant trust your library to do sane things, then
> don't use it.
> 
Agreed, the are things that sane library should never do: exit() or output
debug info to stdio or meddle with memory mlock/munlock behind application's
back.

--
			Gleb.

  reply	other threads:[~2010-01-18 15:01 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-18 13:37 [PATCH v6] add MAP_UNLOCKED mmap flag Gleb Natapov
2010-01-18 13:37 ` Gleb Natapov
2010-01-18 13:37 ` Gleb Natapov
     [not found] ` <20100118133755.GG30698-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-01-18 14:09   ` Pekka Enberg
2010-01-18 14:09     ` Pekka Enberg
2010-01-18 14:09     ` Pekka Enberg
2010-01-18 14:19     ` Gleb Natapov
2010-01-18 14:19       ` Gleb Natapov
2010-01-18 14:32       ` Alan Cox
2010-01-18 14:32         ` Alan Cox
2010-01-18 14:35         ` Gleb Natapov
2010-01-18 14:35           ` Gleb Natapov
2010-01-18 14:49         ` Peter Zijlstra
2010-01-18 14:49           ` Peter Zijlstra
2010-01-18 15:01           ` Gleb Natapov [this message]
2010-01-18 15:01             ` Gleb Natapov
2010-01-18 15:06             ` Peter Zijlstra
2010-01-18 15:06               ` Peter Zijlstra
2010-01-18 15:11               ` Avi Kivity
2010-01-18 15:11                 ` Avi Kivity
2010-01-18 15:14                 ` Peter Zijlstra
2010-01-18 15:14                   ` Peter Zijlstra
2010-01-18 15:19                   ` Avi Kivity
2010-01-18 15:19                     ` Avi Kivity
     [not found]                     ` <4B547C09.8010906-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-01-18 15:24                       ` Peter Zijlstra
2010-01-18 15:24                         ` Peter Zijlstra
2010-01-18 15:24                         ` Peter Zijlstra
2010-01-18 15:41                         ` Alan Cox
2010-01-18 15:41                           ` Alan Cox
2010-01-18 15:44                           ` Peter Zijlstra
2010-01-18 15:44                             ` Peter Zijlstra
2010-01-18 17:11                   ` Gleb Natapov
2010-01-18 17:11                     ` Gleb Natapov
2010-01-18 15:14               ` Gleb Natapov
2010-01-18 15:14                 ` Gleb Natapov
2010-01-19  0:12                 ` KOSAKI Motohiro
2010-01-19  0:12                   ` KOSAKI Motohiro
2010-01-18 16:05       ` Pekka Enberg
2010-01-18 16:05         ` Pekka Enberg
2010-01-18 17:08         ` Gleb Natapov
2010-01-18 17:08           ` Gleb Natapov
2010-01-18 18:09           ` Pekka Enberg
2010-01-18 18:09             ` Pekka Enberg
2010-01-18 18:19             ` Gleb Natapov
2010-01-18 18:19               ` Gleb Natapov
2010-01-18 19:10               ` Alan Cox
2010-01-18 19:10                 ` Alan Cox
2010-01-19  7:17                 ` Gleb Natapov
2010-01-19  7:17                   ` Gleb Natapov
2010-01-19  7:37                   ` Pekka Enberg
2010-01-19  7:37                     ` Pekka Enberg
2010-01-19  7:52                     ` Gleb Natapov
2010-01-19  7:52                       ` Gleb Natapov
     [not found]                       ` <20100119075205.GI14345-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-01-19  8:07                         ` Pekka Enberg
2010-01-19  8:07                           ` Pekka Enberg
2010-01-19  8:07                           ` Pekka Enberg
2010-01-19  8:26                           ` Gleb Natapov
2010-01-19  8:26                             ` Gleb Natapov
     [not found]                             ` <20100119082638.GK14345-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-01-19  8:44                               ` Pekka Enberg
2010-01-19  8:44                                 ` Pekka Enberg
2010-01-19  8:44                                 ` Pekka Enberg
2010-01-19 10:40                                 ` Gleb Natapov
2010-01-19 10:40                                   ` Gleb Natapov
     [not found]                                 ` <84144f021001190044s397c6665qb00af48235d2d818-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-01-19 12:48                                   ` Minchan Kim
2010-01-19 12:48                                     ` Minchan Kim
2010-01-19 12:48                                     ` Minchan Kim
2010-01-19 13:18                                     ` Pekka Enberg
2010-01-19 13:18                                       ` Pekka Enberg
2010-01-19 13:26                                       ` Gleb Natapov
2010-01-19 13:26                                         ` Gleb Natapov
2010-01-20  0:24                                 ` KOSAKI Motohiro
2010-01-20  0:24                                   ` KOSAKI Motohiro
2010-01-19 11:54                       ` Alan Cox
2010-01-19 11:54                         ` Alan Cox
2010-01-19 12:07                         ` Gleb Natapov
2010-01-19 12:07                           ` Gleb Natapov
2010-01-19 13:21                           ` Alan Cox
2010-01-19 13:21                             ` Alan Cox
2010-01-19 14:07                       ` Minchan Kim
2010-01-19 14:07                         ` Minchan Kim
2010-01-19 14:14                         ` Gleb Natapov
2010-01-19 14:14                           ` Gleb Natapov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100118150159.GB14345@redhat.com \
    --to=gleb@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andrew.c.morrow@gmail.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=penberg@cs.helsinki.fi \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.