Gator deadlocks system on Linux 3.5
Bug #1012642 reported by
Tixy (Jon Medhurst)
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro Android |
Fix Released
|
High
|
Zach Pfeffer | ||
Linaro Ubuntu |
Fix Released
|
High
|
Ricardo Salveti |
Bug Description
When using Gator on Linux 3.5-rc2 I get a system deadlock, see attached lockdep log
Changed in linaro-android: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Ricardo Salveti (rsalveti) |
Changed in linaro-landing-team-arm: | |
milestone: | none → 2012.07 |
Changed in linaro-ubuntu: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Ricardo Salveti (rsalveti) |
Changed in linaro-android: | |
assignee: | Ricardo Salveti (rsalveti) → nobody |
status: | Confirmed → New |
importance: | High → Undecided |
Changed in linaro-ubuntu: | |
milestone: | none → 12.08 |
Changed in linaro-landing-team-arm: | |
status: | Fix Committed → Fix Released |
Changed in linaro-android: | |
assignee: | nobody → Zach Pfeffer (pfefferz) |
importance: | Undecided → High |
status: | New → Confirmed |
milestone: | none → 12.08 |
Changed in linaro-ubuntu: | |
status: | Confirmed → Fix Released |
To post a comment you must log in.
Linux 3.5 now contains a patch [1] which means context switch trace
points are called with the run-queue lock held, this means that such
tracepoints can't:
a. sleep
b. queue work on workqueues
This means that Gator is a bit stuffed as it is currently implemented meminfo_ read() wants to call si_meminfo() which can
because gator_events_
sleep, so we can't call it (as the code currently tries to) and we also
can't use the alternative mechanism it uses when in_interrupt() returns
true of using a workqueue to do this call.
Note there are other places which will have a similar problems, e.g. net_read( ) and translate_ app_process( ).
gator_events_
I'm pretty sure I have analysed this right, and I can't see a quick fix
for this. (And I don't understand the code enough to propose a slow
fix.)
[1] Patch 7fec1b57 "ARM: Remove __ARCH_ WANT_INTERRUPTS _ON_CTXSW on
ASID-capable CPUs)"