看板 DFBSD_commit 關於我們 聯絡資訊
:This is an optimisation for the intra-program switch if you want to call it so. :I would argue that the normal switch case is either user -> kernel or to :a different kernel thread. You pretty much always want to have just a single page table with a threaded program. The %cr3 optimization is a nice plus, but it isn't why the page table is being shared. The page table is being shared because trying to build a threaded program WITHOUT sharing the page table is extremely expensive. Every time you'd allocate memory or map something it would have to be replicated across N page tables. Performance would be destroyed. -Matt