public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: Jiang Liu <jiang.liu@linux.intel.com>
To: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	"H. Peter Anvin" <hpa@linux.intel.com>,
	Len Brown <len.brown@intel.com>, Len Brown <lenb@kernel.org>,
	linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] Revert "intel_idle: mark states tables with __initdata tag"
Date: Fri, 10 Jan 2014 09:32:37 +0800	[thread overview]
Message-ID: <52CF4DB5.1040608@linux.intel.com> (raw)
In-Reply-To: <1987543.MckBKZrloE@amdc1032>



On 2014/1/9 21:20, Bartlomiej Zolnierkiewicz wrote:
> 
> Hi,
> 
> On Thursday, January 09, 2014 03:30:26 PM Jiang Liu wrote:
>> This reverts commit 9d046ccb98085f1d437585f84748c783a04ba240.
>>
>> Commit 9d046ccb98085 marks all state tables with __initdata, but
>> the state table may be accessed when doing CPU online, which then
>> causing system crash as below:
> 
> Uh, sorry for that - it most likely got missed since I tested it
> together with intel_idle_cpu_init() removal patches (they are in
> Rafael's PM tree now).
> 
> Anyway, better than reverting it altogether would be to fix it by
> backporting the following patch:
> 
> 	http://lkml.org/lkml/2013/12/20/372
> 
> Could you please try to solve the issue this way?
> 
> PS Please add commit author to cc: when posting reverts.  Thanks.
Hi Bartlomiej,
	Sorry for this, I guess my get_maintainer script will add
the patch author for me, but it didn't. Will manually add patch
author next time.
Thanks!
Gerry

> 
> Best regards,
> --
> Bartlomiej Zolnierkiewicz
> Samsung R&D Institute Poland
> Samsung Electronics
> 
>> [  204.188841] BUG: unable to handle kernel paging request at ffffffff8227cce8
>> [  204.196844] IP: [<ffffffff814aa1c0>] intel_idle_cpu_init+0x40/0x130
>> [  204.203996] PGD 1e11067 PUD 1e12063 PMD 455859063 PTE 800000000227c062
>> [  204.211638] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
>> [  204.216975] Modules linked in: x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd gpio_ich microcode joydev sb_edac edac_core ipmi_si lpc_ich ipmi_msghandler lp tpm_tis parport wmi mac_hid acpi_pad hid_generic ixgbe isci usbhid dca hid libsas ptp ahci libahci scsi_transport_sas megaraid_sas pps_core mdio
>> [  204.262815] CPU: 11 PID: 1489 Comm: bash Not tainted 3.13.0-rc7+ #48
>> [  204.269993] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS BRIVTIN1.86B.0047.L09.1312061514 12/06/2013
>> [  204.281646] task: ffff8804303a24a0 ti: ffff880440fac000 task.ti: ffff880440fac000
>> [  204.290311] RIP: 0010:[<ffffffff814aa1c0>]  [<ffffffff814aa1c0>] intel_idle_cpu_init+0x40/0x130
>> [  204.300184] RSP: 0018:ffff880440fadd28  EFLAGS: 00010286
>> [  204.306192] RAX: ffffffff8227cca0 RBX: ffffe8fff1a03400 RCX: 0000000000000007
>> [  204.314244] RDX: ffff88045f400000 RSI: 0000000000000009 RDI: 0000000000001120
>> [  204.322296] RBP: ffff880440fadd38 R08: 0000000000000000 R09: 0000000000000001
>> [  204.330411] R10: 0000000000000001 R11: 0000000000000000 R12: 000000000000001e
>> [  204.338482] R13: 00000000ffffffdb R14: 0000000000000001 R15: 0000000000000000
>> [  204.346743] FS:  00007f64f7b0c740(0000) GS:ffff88045ce00000(0000) knlGS:0000000000000000
>> [  204.355919] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>> [  204.362449] CR2: ffffffff8227cce8 CR3: 0000000444ab0000 CR4: 00000000001407e0
>> [  204.370520] Stack:
>> [  204.372853]  000000000000001e ffffffff81f10240 ffff880440fadd50 ffffffff814aa307
>> [  204.381519]  ffffffff81ea80e0 ffff880440fadda0 ffffffff8185a230 0000000000000000
>> [  204.390196]  000000000000001e 0000000000000002 0000000000000002 0000000000000000
>> [  204.398856] Call Trace:
>> [  204.401683]  [<ffffffff814aa307>] cpu_hotplug_notify+0x57/0x70
>> [  204.408638]  [<ffffffff8185a230>] notifier_call_chain+0x100/0x150
>> [  204.415553]  [<ffffffff810a7dae>] __raw_notifier_call_chain+0xe/0x10
>> [  204.422772]  [<ffffffff81072163>] cpu_notify+0x23/0x50
>> [  204.428616]  [<ffffffff810723b2>] _cpu_up+0x132/0x1a0
>> [  204.434361]  [<ffffffff8107249d>] cpu_up+0x7d/0xa0
>> [  204.439819]  [<ffffffff81836c9c>] cpu_subsys_online+0x3c/0x90
>> [  204.446345]  [<ffffffff81554625>] device_online+0x45/0xa0
>> [  204.452471]  [<ffffffff815546ce>] online_store+0x4e/0x80
>> [  204.458511]  [<ffffffff815519a8>] dev_attr_store+0x18/0x30
>> [  204.464744]  [<ffffffff812a68f1>] sysfs_write_file+0x151/0x1c0
>> [  204.471681]  [<ffffffff81217ef1>] vfs_write+0xe1/0x160
>> [  204.477524]  [<ffffffff8121889c>] SyS_write+0x4c/0x90
>> [  204.483270]  [<ffffffff8185f2ed>] system_call_fastpath+0x1a/0x1f
>> [  204.490081] Code: 41 54 41 89 fc 8b 3d 48 25 85 01 53 48 8b 1d 30 25 85 01 48 03 1c c5 40 90 fb 81 48 8b 05 19 25 85 01 c7 43 0c 01 00 00 00 66 90 <48> 83 78 48 00 74 4f 41 83 c0 01 41 39 f0 7e 10 48 c7 c7 38 79
>> [  204.515723] RIP  [<ffffffff814aa1c0>] intel_idle_cpu_init+0x40/0x130
>> [  204.522996]  RSP <ffff880440fadd28>
>> [  204.526976] CR2: ffffffff8227cce8
>> [  204.530766] ---[ end trace 336f56cc3d1cfc8c ]---
>>
>> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>> Cc: <stable@vger.kernel.org> # 3.12+
>> ---
>>  drivers/idle/intel_idle.c |   10 +++++-----
>>  1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
>> index f80b700..6f456f0 100644
>> --- a/drivers/idle/intel_idle.c
>> +++ b/drivers/idle/intel_idle.c
>> @@ -123,7 +123,7 @@ static struct cpuidle_state *cpuidle_state_table;
>>   * which is also the index into the MWAIT hint array.
>>   * Thus C0 is a dummy.
>>   */
>> -static struct cpuidle_state nehalem_cstates[] __initdata = {
>> +static struct cpuidle_state nehalem_cstates[] = {
>>  	{
>>  		.name = "C1-NHM",
>>  		.desc = "MWAIT 0x00",
>> @@ -156,7 +156,7 @@ static struct cpuidle_state nehalem_cstates[] __initdata = {
>>  		.enter = NULL }
>>  };
>>  
>> -static struct cpuidle_state snb_cstates[] __initdata = {
>> +static struct cpuidle_state snb_cstates[] = {
>>  	{
>>  		.name = "C1-SNB",
>>  		.desc = "MWAIT 0x00",
>> @@ -196,7 +196,7 @@ static struct cpuidle_state snb_cstates[] __initdata = {
>>  		.enter = NULL }
>>  };
>>  
>> -static struct cpuidle_state ivb_cstates[] __initdata = {
>> +static struct cpuidle_state ivb_cstates[] = {
>>  	{
>>  		.name = "C1-IVB",
>>  		.desc = "MWAIT 0x00",
>> @@ -236,7 +236,7 @@ static struct cpuidle_state ivb_cstates[] __initdata = {
>>  		.enter = NULL }
>>  };
>>  
>> -static struct cpuidle_state hsw_cstates[] __initdata = {
>> +static struct cpuidle_state hsw_cstates[] = {
>>  	{
>>  		.name = "C1-HSW",
>>  		.desc = "MWAIT 0x00",
>> @@ -297,7 +297,7 @@ static struct cpuidle_state hsw_cstates[] __initdata = {
>>  		.enter = NULL }
>>  };
>>  
>> -static struct cpuidle_state atom_cstates[] __initdata = {
>> +static struct cpuidle_state atom_cstates[] = {
>>  	{
>>  		.name = "C1E-ATM",
>>  		.desc = "MWAIT 0x00",
> 

  parent reply	other threads:[~2014-01-10  1:33 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-09  7:30 [PATCH 1/2] Revert "intel_idle: mark states tables with __initdata tag" Jiang Liu
2014-01-09  7:30 ` [PATCH 2/2] intel_idle: close avn_cstates array with correct marker Jiang Liu
2014-01-09 13:31   ` Rafael J. Wysocki
2014-01-10  1:59     ` Jiang Liu
2014-01-10 13:32       ` Rafael J. Wysocki
2014-01-09 13:20 ` [PATCH 1/2] Revert "intel_idle: mark states tables with __initdata tag" Bartlomiej Zolnierkiewicz
2014-01-09 13:38   ` Rafael J. Wysocki
2014-01-10  9:23     ` Bartlomiej Zolnierkiewicz
2014-01-10  1:32   ` Jiang Liu [this message]
2014-01-09 13:29 ` Rafael J. Wysocki
2014-01-09 13:22   ` Bartlomiej Zolnierkiewicz
2014-01-10  2:01   ` Jiang Liu
2014-01-10 13:48     ` Rafael J. Wysocki

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=52CF4DB5.1040608@linux.intel.com \
    --to=jiang.liu@linux.intel.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=hpa@linux.intel.com \
    --cc=len.brown@intel.com \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael.j.wysocki@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