this what i was talking you about :) On Sat, May 9, 2015 at 9:29 PM, nick <xerofoify@gmail.com> wrote:
On 2015-05-09 12:44 PM, Mustafa Hussain wrote:
Hi all,
i am working with __sched __schedule()
and i want to add some thing i want to check whether the prev will become idle or not how can i do this.
thanks in advance
- - Mustafa, After looking around in pick_next_task there is a scheduler class called idle_sched_class for idling when tasks need to be run. Something like /*declare sched_class pointer to idle_sched_class address*/ const struct sched_class *idle=&idle_sched_class; /*Check if the pointer pointing to the idle class is equal to prev's sched_class*/ if(prev->sched_class == idle) After this condition you can just: printk(KERN_INFO "Prev is equal to idle_sched_class,now running the idle sched_class\n"); If you have another question about this please let me known. Cheers, Nick
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Tue, 02 Jun 2015 23:38:48 +0200, Mustafa Hussain said:
/*Check if the pointer pointing to the idle class is equal to prev's sched_class*/ if(prev->sched_class == idle) After this condition you can just: printk(KERN_INFO "Prev is equal to idle_sched_class,now running the idle sched_class\n");
Hopefully, you didn't take Nick's advice without thinking about it.... As I type this, powertop tells me: Summary: 821.8 wakeups/second, 0.0 GPU ops/seconds, 0.0 VFS ops/sec and 18.8% CPU use That printk is going to spam your dmesg pretty hard. A better question is: If prev is about to go idle, *what do you want to do*? (Hint: newer kernels already do a bunch of stuff when a cpu/core goes idle, you probably want to make sure you're not working against something here...)
participants (2)
-
Mustafa Hussain -
Valdis.Kletnieks@vt.edu