* 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