From mboxrd@z Thu Jan 1 00:00:00 1970 From: der.herr@hofr.at (Nicholas Mc Guire) Date: Sun, 7 Jun 2015 18:37:48 +0200 Subject: set_current_state() use in loops confusion Message-ID: <20150607163748.GA17643@opentech.at> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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