Henrique de Moraes Holschuh wrote:That's coincidence. The mentioned workaround fails this way: - tlabel consumer eth1394 (IPv4 over FireWire) grabs lots of tlabels in soft IRQ context. - tlabel recycler khpsbpkt (a kthread of ieee1394) sleeps even though it could start putting tlabels back into the pool. - eth1394 can't get tlabels anymore, stops the transmit queue, schedules a workqueue job. - eth1394's workqueue job (run by the events kthread) tries to acquire a tlabel. It does so in non-atomic context and hence sleeps in hpsb_get_tlabel() until the tlabel pool is nonempty again. It would then wake up the eth1394 transmit queue again. - Normally, khpsbpkt would have been woken up by now and would have released a lot of now unused tlabels back into the pool again. However, on UP preempt_none kernels, khpsbpkt continues to sleep. (The 1394 stack's lower level runing in IRQ context or perhaps tasklet context wakes up khpsbpkt.) - Since it doesn't get a tlabel, eth1394's workqueue jobs sleeps forever as well. Result is that all other tasks of the shared workqueue can't be serviced, notably the keyboard is stuck, and that the eth1394 connection breaks down. (I haven't started working on a fix, or opened a bugzilla ticket for it yet. The reporter currently switched his kernel to PREEMPT which is not affected.) IOW: The failure in the workaround is *not* about the in_atomic() being the wrong question asked in hpsb_get_tlabel() --- no, ieee1394's in_atomic() abuse works just fine even on UP PREEMPT_NONE. Instead, the failure is about kthreads not being scheduled in the way that I thought they would. -- Stefan Richter -=====-==--- --== =-=-= http://arcgraph.de/sr/ --
| Arjan van de Ven | [Patch v2] Make PCI extended config space (MMCONFIG) a driver opt-in |
| Tilman Schmidt | git guidance |
| Vu Pham | Re: [Scst-devel] Integration of SCST in the mainstream Linux kernel |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
git: | |
| David Miller | Re: Git and GCC |
| Mike | I don't want the .git directory next to my code. |
| Steffen Prohaska | merge vs rebase: Is visualization in gitk the only problem? |
| David Kastrup | What is the idea for bare repositories? |
| Richard Stallman | Real men don't attack straw men |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Falk Brockerhoff | ftp-proxy and no route to host issue |
| Pieter Verberne | Remove escape characters from file |
| Chuck Lever | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Stefan Richter | Re: [GIT]: Networking |
| jamal | Re: [LARTC] ifb and ppp |
