Re: 3.18.9-rt4 kernel panic - Was: 3.18.9-rt4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Ralf Mardorf | 2015-03-14 10:43:36 [+0100]:

>On Fri, 13 Mar 2015 22:30:41 +0100, Ralf Mardorf wrote:
>>all kernels >= 3.14.34-rt31 I tested, don't finish startup on my
>>machine [1]. This are the last messages of startups for 4 different
>>startups for 3.18.9-rt4.
>>
>>Picture URLs:
>>http://picpaste.com/3.18.9-rt4.x86_64.end_of_startup_2.jpg

here we have
 powernowk8_target_fn() -> transition_frequency_fidvid() and then at the
end:
 932         policy = cpufreq_cpu_get(smp_processor_id());
 933         cpufreq_cpu_put(policy);

and I think the explosion starts in cpufreq_cpu_put() because I have no
idea why page_fault() shows up in the backtrace.

>>http://picpaste.com/3.18.9-rt4.x86_64.end_of_startup_3.jpg
some timer thingy, most likely follow-up

>>http://picpaste.com/3.18.9-rt4.x86_64.end_of_startup_4.jpg
looks like _2

>>http://picpaste.com/3.18.9-rt4.x86_64.end_of_startup_5.jpg
follow up

>>
>>The last kernel I tested that does work is 3.14.28-rt25.

>Picture URL:
>http://picpaste.com/3.18.9-rt4.x86_64.end_of_startup_6.jpg
dunno. 

I assume the crash occurs because cpufreq_cpu_put() returns a NULL
pointer. I have no idea why this happens or if it happens at all.
What happens if you apply this:

diff --git a/drivers/cpufreq/powernow-k8.c b/drivers/cpufreq/powernow-k8.c
index f9ce7e4bf0fe..ddf3a9006339 100644
--- a/drivers/cpufreq/powernow-k8.c
+++ b/drivers/cpufreq/powernow-k8.c
@@ -930,7 +930,8 @@ static int transition_frequency_fidvid(struct powernow_k8_data *data,
 	freqs.new = find_khz_freq_from_fid(fid);
 
 	policy = cpufreq_cpu_get(smp_processor_id());
-	cpufreq_cpu_put(policy);
+	if (policy)
+		cpufreq_cpu_put(policy);
 
 	cpufreq_freq_transition_begin(policy, &freqs);
 	res = transition_fid_vid(data, fid, vid);

>Regards,
>Ralf

Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux