Re: stopping a process during a timer interrupt

From: Hagen Paul Pfeifer
Date: Tue Oct 17 2006 - 18:56:34 EST


* Kay Tiong Khoo | 2006-10-17 18:18:25 [+0800]:

>On a timer interrupt, I tried to stop the current process by changing
>it's run state to TASK_STOPPED via set_current_state(TASK_STOPPED).
>However, this results in a system hang.
>
>I can't find a way to stop the current process during an interrupt
>context. Does such code exist in the kernel? If not, how does one go
>about implementing it from within a kernel module.

Take a look at some driver implementations!
There you will find some ways how to put a process into a sleep state.

Grep for "*->state*TASK_UNINTERRUPTIBLE" and take also a look at the
interaction with schedule() and spinlocks.

>Thanks.
>Kay Tiong

Best regards

--
Hagen Pfeifer
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/