set_current_state() use in loops confusion
    Nicholas Mc Guire 
    der.herr at hofr.at
       
    Sun Jun  7 12:37:48 EDT 2015
    
    
  
Hi !
 Noticed that in a number of cases - often while(!kthread_should_stop()){ loops
 the call to set_current_state(...) is inside the loop - but e.g. in the below
 case why would that be needed ? schedule() is not changing the state visibly
 for the loop - so what is the point of setting the state inside the loop ?
e.g. net/core/pktgen.c
        /* Wait for kthread_stop */
        while (!kthread_should_stop()) {
                set_current_state(TASK_INTERRUPTIBLE);
                schedule();
        }
from code review it seems to be that this would be equivalent
        set_current_state(TASK_INTERRUPTIBLE);
        while (!kthread_should_stop()) {
                schedule();
        }
what did I miss ?
thx!
hofrat
    
    
More information about the Kernelnewbies
mailing list