Re: Polling in kernel threads

2008-06-20 Thread Lukas Razik
Hello Hannes! Could the system instability appear (for example), because the events thread which runs on the same CPU like my kernel thread, doesn't process the works which are in its work queue? Or are all works of the default queue delivered to other events threads on the free CPUs? I am

Re: Polling in kernel threads

2008-06-19 Thread Mulyadi Santosa
Hi ... On Thu, Jun 19, 2008 at 12:22 AM, Lukas Razik [EMAIL PROTECTED] wrote: Hello! I develop a network interface driver and I've the following issue... I create a kernel thread which has the following thread handler: static int com_thread( void *data ) { daemonize( comthread );

Re: Polling in kernel threads

2008-06-19 Thread karunakar rao
Hi mulayadi, I experienced the same problem .Kernel thread is not giving any chance to other kernel paths to run. Is it due to non-preemptive kernel. Thanks, karunakar On Thu, Jun 19, 2008 at 3:22 PM, Mulyadi Santosa [EMAIL PROTECTED] wrote: Hi ... On Thu, Jun 19, 2008 at 12:22 AM, Lukas

Re: Polling in kernel threads

2008-06-19 Thread Lukas Razik
Hello Mulyadi! first of all, what do you poll there? some register status? could the device just yield an interrupt? I poll a message queue. The Dolphin SCI network card's kernel modules have a message queue implementation and I call their receive function:

Re: Polling in kernel threads

2008-06-19 Thread Johannes Weiner
Hi, Lukas Razik [EMAIL PROTECTED] writes: Hello Mulyadi! first of all, what do you poll there? some register status? could the device just yield an interrupt? I poll a message queue. The Dolphin SCI network card's kernel modules have a message queue implementation and I call their receive

Re: Polling in kernel threads

2008-06-19 Thread Lukas Razik
Hello Johannes! You don't give the scheduler a chance to run. If you sleep, the scheduler will run and be able to deliver the signal and this is why it works then. Spinning like this is bad. That should actually freeze a UP machine if I do not miss something. The driver is _only_ for

Re: Polling in kernel threads

2008-06-19 Thread Johannes Weiner
Hi, Lukas Razik [EMAIL PROTECTED] writes: Hello Johannes! You don't give the scheduler a chance to run. If you sleep, the scheduler will run and be able to deliver the signal and this is why it works then. Spinning like this is bad. That should actually freeze a UP machine if I do not

Polling in kernel threads

2008-06-18 Thread Lukas Razik
Hello! I develop a network interface driver and I've the following issue... I create a kernel thread which has the following thread handler: static int com_thread( void *data ) { daemonize( comthread ); allow_signal( SIGTERM ); while( !signal_pending(current) ) { if(receive(...)) {