From: Ingo Molnar <mingo@kernel.org>
To: Pavel Machek <pavel@ucw.cz>
Cc: Chen Yu <yu.c.chen@intel.com>,
rjw@rjwysocki.net, tglx@linutronix.de, mingo@redhat.com,
hpa@zytor.com, rui.zhang@intel.com, lenb@kernel.org,
x86@kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] [v2] x86, suspend: Save/restore extra MSR registers for suspend
Date: Sun, 23 Aug 2015 08:20:33 +0200 [thread overview]
Message-ID: <20150823062033.GB18134@gmail.com> (raw)
In-Reply-To: <20150822203028.GA28112@amd>
* Pavel Machek <pavel@ucw.cz> wrote:
> On Fri 2015-08-21 19:53:34, Chen Yu wrote:
> > A bug is reported(https://bugzilla.redhat.com/show_bug.cgi?id=1227208)
> > that, after resuming from S3, CPU is working at a low speed.
> > After investigation, it is found that, BIOS has modified the value
> > of THERM_CONTROL register during S3, changes it from 0 to 0x10,
> > while the latter means CPU can only get 25% of the Duty Cycle,
> > and this caused the problem.
> >
> > Simple scenario to reproduce:
> > 1.Boot up system
> > 2.Get MSR with address 0x19a, it should output 0
> > 3.Put system into sleep, then wake up
> > 4.Get MSR with address 0x19a, it should output 0(actual it outputs 0x10)
> >
> > Although this is a BIOS issue, it would be more robust for linux to deal
> > with this situation. This patch fixes this issue by introducing a framework
> > for saving/restoring specify MSR registers(THERM_CONTROL in this case)
> > on suspend/resume.
> >
> > When user finds a problematic platform that requires save/restore MSRs,
> > he can simply add quirk in msr_save_dmi_table, and customizes MSR
> > registers in quirk callback, for example:
> >
> > unsigned int msr_id_need_to_save[] = {MSR_ID0, MSR_ID1, MSR_ID2...};
> >
> > and system ensures that, once resumed from suspend, these MSR indicated
> > by IDs will be restored to their original values before suspend.
> >
> > Since both 64/32-bit kernels are affected, this patch covers 64/32-bit
> > common code path. And because the MSR ids specified by user might not be
> > available or readable in any situation, we use rdmsrl_safe to safely
> > save these MSR registers.
> >
> > Tested-by: Marcin Kaszewski <marcin.kaszewski@intel.com>
> > Signed-off-by: Chen Yu <yu.c.chen@intel.com>
>
> Acked-by: Pavel Machek <pavel@ucw.cz>
So I like the general structure of the patch and I like the MSR saving mechanism
it introduces, but it is full of typos and small stylistic uncleanlinesses which
need to be fixed before this patch can be applied. Please don't ack incomplete
patches.
Thanks,
Ingo
next prev parent reply other threads:[~2015-08-23 6:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-21 11:53 [PATCH] [v2] x86, suspend: Save/restore extra MSR registers for suspend Chen Yu
2015-08-21 12:34 ` Nigel Cunningham
2015-08-21 16:24 ` Chen, Yu C
2015-08-22 20:30 ` Pavel Machek
2015-08-23 6:20 ` Ingo Molnar [this message]
2015-08-23 8:43 ` Pavel Machek
2015-08-24 3:28 ` Chen, Yu C
2015-08-24 3:24 ` Chen, Yu C
2015-08-24 8:49 ` Borislav Petkov
2015-08-25 1:58 ` Chen, Yu C
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150823062033.GB18134@gmail.com \
--to=mingo@kernel.org \
--cc=hpa@zytor.com \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pavel@ucw.cz \
--cc=rjw@rjwysocki.net \
--cc=rui.zhang@intel.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=yu.c.chen@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox