Hi,

I have a single work queue, on which I have scheduled a worker function [using 
queue_work(wq, fn)] in interrupt context. 

I get the interrupt twice before the work queue gets a chance to run, and hence 
the same function will get queued twice (with different private context - 
arguments etc) which is fine and expected.

Questions:

1) Is it possible that the instance that was queued by 2nd interrupt, can get 
to run BEFORE the instance that was queued by 1st interrupt? In other words, is 
reordering possible?

2) Is it possible that one running instance of the function, can get preempted 
by second instance of the same work queue? I read through 
http://lwn.net/Articles/511421/ and it talks about same work queue cannot run 
on different CPU, but I have doubt about single CPU. If If I am writing a 
worker function, does my code have to be ready that it can be preempted by 
another instance of the same function?

Please note that I understand that my worker function can preempted by other 
processes, my doubts are related to the same workqueue.

Thanks,

Rajat


_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to