Re: cvs commit: src/lib/libthread_xu Makefile pthread.map src/li
:We have to touch the page tables for a process switch anyway, it's not
:that expensive to have a thread-local page mapping there I think.
:On the other hand the LDT approach costs for every access.
:
:Joerg
The rfork'd processes are sharing the same page table, and the switch
code detects this and does not bother to reload %cr3 (which saves a lot
of cpu cycles), so you can't create a thread-local page mapping that way.
As far as I know the LDT is the only way to create uniqueness between
different processes sharing the same page table. It's expensive, but
probably not as expensive as reloading %cr3.
It would be interesting to test that hypothesis... what is more expensive?
reloading %cr3 on every switch or reloading the LDT on every switch ?
-Matt
Matthew Dillon
<dillon@backplane.com>
討論串 (同標題文章)
完整討論串 (本文為第 5 之 24 篇):