More lists cc'd On Thu, Aug 1, 2013 at 6:08 PM, Michael Giardino <giardino@xxxxxxxxxxxxxx> wrote: > Hi, > > I hope this is the right spot to ask this. > > Is there any way to change the cpu frequency using the cpufreq driver > from within an hrtimer callback function? I encounter a kernel panic > at cpufreq.c line 255 (260 in 3.9.5) > > void __cpufreq_notify_transition(struct cpufreq_policy *policy, > 253 struct cpufreq_freqs *freqs, unsigned int state) > 254 { > 255 BUG_ON(irqs_disabled()); > > > I'm assuming this is due to the cpufreq_notify_transition needs > interrupts to notify? Is there a way around this? It appears that > acpi-cpufreq.c is calling the notifier both before and after the > transition (CPUFREQ_PRECHANGE and CPUFREQ_POSTCHANGE). > > Are there any frequency change functions that can operate without interrupts? > > The background is this: > > For the past few days I have been trying to get to the bottom of a > problem involving a nonSMP governor I have written. The goal of this > governor is to change the frequency on a predefined schedule (in the > ms scale). The basic breakdown is this: > > 1. The external scheduler computes schedules and then passes them to > the governor (with much code appropriated from the userspace governor) > via an exported function. > 2. The governor sets the frequency, then sets a timer to call the next > frequency change when it goes off > > In order to do this, I was using hrtimers. These timer's callback > functions run with interrupts disabled. > > Michael Giardino > <giardino@xxxxxxxxxxxxxx> > <michael.giardino@xxxxxxxxx> > -- > To unsubscribe from this list: send the line "unsubscribe cpufreq" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html