All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Avi Kivity <avi@redhat.com>, Gleb Natapov <gleb@redhat.com>,
	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 16:44:34 +0100	[thread overview]
Message-ID: <1263829474.4283.617.camel@laptop> (raw)
In-Reply-To: <20100118154149.38fa61d4@lxorguk.ukuu.org.uk>

On Mon, 2010-01-18 at 15:41 +0000, Alan Cox wrote:
> On Mon, 18 Jan 2010 16:24:07 +0100
> Peter Zijlstra <peterz@infradead.org> wrote:
> 
> > On Mon, 2010-01-18 at 17:19 +0200, Avi Kivity wrote:
> > > > I would not advice that, just mlock() the text and data you need for the
> > > > real-time thread. mlockall() is a really blunt instrument.
> > > >    
> > > 
> > > May not be feasible due to libraries. 
> > 
> > Esp for the real-time case I could advise not to use those libraries
> > then, since they're clearly not designed for that use case.
> 
> In "hard" real time cases an awful lot of libraries have things like
> memory allocations in them and don't care about stack growth which can
> cause faults and sleeps. The memory allocator if you are running threaded
> was not real time priority aware either last time I checked so the
> standard libraries are not going to give the behaviour you want unless
> you have a proper RT environment, and even then it may be a bit iffy here
> and there.

I'm quite aware of that, which is why we recommend people to
pre-allocate, mlock() and pre-fault everything in advance and make sure
the RT thread doesn't touch any data/text outside of that and uses a
limited set of system calls.

You can also do that for stacks using pthread_attr_setstack().



--
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: Peter Zijlstra <peterz@infradead.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Avi Kivity <avi@redhat.com>, Gleb Natapov <gleb@redhat.com>,
	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 16:44:34 +0100	[thread overview]
Message-ID: <1263829474.4283.617.camel@laptop> (raw)
In-Reply-To: <20100118154149.38fa61d4@lxorguk.ukuu.org.uk>

On Mon, 2010-01-18 at 15:41 +0000, Alan Cox wrote:
> On Mon, 18 Jan 2010 16:24:07 +0100
> Peter Zijlstra <peterz@infradead.org> wrote:
> 
> > On Mon, 2010-01-18 at 17:19 +0200, Avi Kivity wrote:
> > > > I would not advice that, just mlock() the text and data you need for the
> > > > real-time thread. mlockall() is a really blunt instrument.
> > > >    
> > > 
> > > May not be feasible due to libraries. 
> > 
> > Esp for the real-time case I could advise not to use those libraries
> > then, since they're clearly not designed for that use case.
> 
> In "hard" real time cases an awful lot of libraries have things like
> memory allocations in them and don't care about stack growth which can
> cause faults and sleeps. The memory allocator if you are running threaded
> was not real time priority aware either last time I checked so the
> standard libraries are not going to give the behaviour you want unless
> you have a proper RT environment, and even then it may be a bit iffy here
> and there.

I'm quite aware of that, which is why we recommend people to
pre-allocate, mlock() and pre-fault everything in advance and make sure
the RT thread doesn't touch any data/text outside of that and uses a
limited set of system calls.

You can also do that for stacks using pthread_attr_setstack().




  reply	other threads:[~2010-01-18 15:44 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
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 [this message]
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=1263829474.4283.617.camel@laptop \
    --to=peterz@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andrew.c.morrow@gmail.com \
    --cc=avi@redhat.com \
    --cc=gleb@redhat.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 \
    /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.