Thread (4 messages) 4 messages, 4 authors, 2012-01-09

Minor page faults from pthread_create()

From: Adrian Knoth <hidden>
Date: 2012-01-06 20:52:38

Hi!

While playing with

 
https://rt.wiki.kernel.org/articles/t/h/r/Threaded_RT-application_with_memory_locking_and_stack_handling_example_f48b.html

I was wondering why pthread_create() should cause minor page faults when
there is a pre-allocated pre-faulted 100MB memory pool.

Simply running the example causes roughly 30 minor page faults. When I
manually allocate stack memory for the stack (after mlockall() and
mallopt have been called) and use pthread_attr_setstack() before calling
pthread_create(), minor page faults drop to 2.

Does anybody happen to know what is causing these remaining two page
faults? My only guess so far is kernel memory to hold some
organizational data for the new thread after clone() has been invoked,
but this could also be completely wrong.

Note that I don't need to get page faults down to 0, I'm only looking
for an explanation to understand the issue at hand to confirm that
pthread_create() must not be used from an RT context.


TIA
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help