Messages in this thread | | | Date | Wed, 22 May 2013 15:06:27 +0200 | From | Stephan Gatzka <> | Subject | Re: function call fw iso resource mange(.. ) (core-iso.c) does not return |
| |
> Solution 2 --- Perform interdependent works in different queue > instances. > (Keep the WQ_MEM_RECLAIM flag set at those workqueues that have to take > work which is necessary for progress of memory reclaim. If this and > only > this solution is employed for an SBP-2 initiator, we need two if not > more > WQ_MEM_RECLAIM workqueue instances.)
I would go for this solution. I have no problems with lots of workqueues around, because there is only a relatively small structure required for each workqueue.
> > Solution 3 --- Remove the dependency between worklets: > > Solution 3a --- Remove the lower-level worklet altogether. > E.g. reimplement the lower-level worklet as a tasklet.
No, I like the workqueue context. :)
> Solution 3b --- Remove the higher-level worklet's dependency. > E.g. reimplement the higher-level worklet such that it is woken by > a timer and then aborts or reschedules ( = lets the lower-level > worklet bubble up in the queue).
This looks more difficult to me and not so easy to test.
Stephan
| |