[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABfYdSoeZm-r5aYN7=aJY5+TcaKEA+4AxfBCk_sM=NNsrAp-ug@mail.gmail.com>
Date: Wed, 3 Jan 2018 14:22:37 -0500
From: Albert Cahalan <acahalan@...il.com>
To: linux-kernel@...r.kernel.org
Subject: page table isolation alternative mechanism
We got into the current situation for performance reasons, avoiding the costly
reload of CR3 that a hardware task switch would cause. It seems we'll be
loading CR3 now anyway, so it might be time to reconsider hardware
task switches.
The recent patches leave kernel entry/exit code mapped. Hardware task switches
wouldn't need that. All they need is a single entry in a reduced-size
IDT, for the
doublefault, and a minimal GDT, and a TSS. Taking the fault switches CR3. That
then gets you a proper IDT and GDT because those are virtually mapped.
Not a single byte of kernel code would need to be mapped while user code runs.
Powered by blists - more mailing lists