Re: Minor page faults from pthread_create()
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Em Fri, Jan 06, 2012 at 09:46:29PM +0100, Adrian Knoth escreveu:
> 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.
Try:
$ perf record --event minor-faults --call-graph your-program
$ perf report
Should answer that question if running on a -fno-omit-frame-pointer
binary world. Or at least provide the callchains for the kernel part of
the call chains.
32-bit distros should be OK in that respect.
- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[RT Stable]
[Kernel Newbies]
[Share Photos]
[IDE]
[Security]
[Git]
[Netfilter]
[Bugtraq]
[Photo]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Linux ATA RAID]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]