Messages in this thread | | | Date | Wed, 22 May 2013 11:08:43 +0200 | From | Stephan Gatzka <> | Subject | Re: function call fw iso resource mange(.. ) (core-iso.c) does not return |
| |
> Wait a minute --- I seem to be reading of Xenomai RT extensions for the > first time in this thread. Has the problem been reproduced on a > mainline > kernel too? (Mainline plus Ralf's firewire upper layer driver maybe, > but > without any other 3rd party stuff please. Actually the issue should be > reproducible even without an upper layer driver performing > fw_iso_resource_manage in fw_workqueue context, shouldn't it?)
Unfortunately it's not that easy. While I agree that it should be reproducible just with mainline stuff, we have to force our system into the situation that it "thinks" it's under memory pressure to hand over the work to the rescuer thread. It looks that a simple printk from a different driver might lead to that situation on our system.
As a first fix, I would say we have at least bring bus_reset_work() running on its own workqueue because otherwise we cannot guarantee progress of bus_reset_work under memory pressure.
> There is quite a bit going on in firewire-ohci's and firewire-core's > parts > of self-ID-complete event handling. But I suspect that stuff like that > is > still not in the league for which CPU_INTENSIVE was intended for > (cryptography etc.).
Some advice from Tejun would be great here...
| |