看板 DFBSD_commit 關於我們 聯絡資訊
: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>