Gator deadlocks system on Linux 3.5

Bug #1012642 reported by Tixy (Jon Medhurst)
10
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

Revision history for this message
Tixy (Jon Medhurst) (tixy) wrote :
visibility: private → public
Changed in linaro-landing-team-arm:
assignee: nobody → Tixy (Jon Medhurst) (tixy)
Revision history for this message
Tixy (Jon Medhurst) (tixy) wrote :

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
because gator_events_meminfo_read() wants to call si_meminfo() which can
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.
gator_events_net_read() and translate_app_process().

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)"

Changed in linaro-android:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Ricardo Salveti (rsalveti)
Revision history for this message
Tixy (Jon Medhurst) (tixy) wrote :

Fix committed to gator git... http://git.linaro.org/gitweb?p=arm/ds5/gator.git;a=commit;h=2ccfda6ba471ba1722fe48d23767d9d024bd0750

And also in the ARM LT topic branch which gets pulled into linux-linaro-core-tracking

Changed in linaro-landing-team-arm:
status: New → Fix Committed
Anmar Oueja (anmar)
Changed in linaro-landing-team-arm:
milestone: none → 2012.07
Fathi Boudra (fboudra)
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
Fathi Boudra (fboudra)
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
Revision history for this message
Tixy (Jon Medhurst) (tixy) wrote :

Bug only affects kernels 3.5 or newer, and vexpress was only platform on these newer kernels and contained the fix in the 12.07 release

Changed in linaro-android:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.