[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 6 Jun 2016 14:05:06 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Peter Zijlstra <peterz@...radead.org>,
"Chen, Yu C" <yu.c.chen@...el.com>
Cc: "x86@...nel.org" <x86@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"Rafael J . Wysocki" <rjw@...ysocki.net>,
Pavel Machek <pavel@....cz>,
"Brown, Len" <len.brown@...el.com>, Borislav Petkov <bp@...e.de>,
Zhu Guihua <zhugh.fnst@...fujitsu.com>,
Juergen Gross <jgross@...e.com>
Subject: Re: [PATCH][RFC] x86, hotplug: Use zero page for monitor when
resuming from hibernation
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
Powered by blists - more mailing lists