Messages in this thread | | | Subject | Re: [PATCH][RFC] x86, hotplug: Use zero page for monitor when resuming from hibernation | From | "H. Peter Anvin" <> | Date | Mon, 6 Jun 2016 14:05:06 -0700 |
| |
On 06/06/16 09:40, Peter Zijlstra wrote: > On Mon, Jun 06, 2016 at 03:59:06PM +0000, Chen, Yu C wrote: > >>>> + if (hibernation_in_resume()) >>>> + mwait_ptr = empty_zero_page; >>>> + else >>>> + mwait_ptr = ¤t_thread_info()->flags; >>> >>> Why is this conditional? Is there any case in which the zero page is not also >>> correct? >> I'm thinking of avoid unnecessary wakeup for normal CPU offline, for example, >> if one driver uses the zero page and access it. > > Writing to the zero page would be a major fail. >
One implementation of MWAIT is for the waiting processor to claim the line in an exclusive state, which would be highly undesirable for the zero page. I don't actually know if this is done by any real implementation, however.
Either way, the problem at hand seems limited to post-hibernation, as for regular CPU offline the page tables will be fully populated, so it seems like it should not be an issue.
-hpa
| |