[ros-dev] RE: [ion] 20554: - Fix shamefully dangerously broken WorkThread/Queue/Item implementation:

Alex Ionescu ionucu at videotron.ca
Wed Jan 4 19:39:12 CET 2006


Ge van Geldorp wrote:

>I haven't looked at your code yet, but the comment worries me. Does it mean
>that if a usermode app is stuck in a "while (1) ;" loop stuff queued by
>IoAllocateWorkItem( ) never gets executed? If I misunderstood, nevermind,
>disregard this message. If this is true we're in big trouble. We're using
>work items in a lot of places to get from DPC level to PASSIVE level. For
>example, the networking stack queues a work item when data was received from
>the network card. I'd hate to see a stuck usermode app halt all network
>communications...
>
>GvG
>
>  
>
Hi,

I've simply made work threads have the same priorities as in NT, so now 
they act the same (that is, lower priority then normal threads).
I'm not quite sure how the scheduler in ReactOS handles your scenario 
however; while it is true that when an app is stuck and its thread's 
quantum runs out, the NT scheduler will prefer to choose a thread with a 
higher priority; however, after a while, the threads with lower priority 
will have been in a wait state for a long time, the kernel will realize 
this, boost their priorities and have them run again.

Best regards,
Alex Ionescu


More information about the Ros-dev mailing list