beagleboard / kernel

Kernel for the beagleboard.org boards
174 stars 159 forks source link

MMC Hangs under load with multiple threads #70

Open cdsteinkuehler opened 10 years ago

cdsteinkuehler commented 10 years ago

If you missed the post:

https://groups.google.com/d/msg/beagleboard/g8JQWFmw4_w/by2kdCbjZmgJ

...there's a problem where all 3.8 BeagleBone kernels (it actually goes back to 3.2, I think) will hang if you have a heavy SD/MMC I/O load across multiple threads. This is particularly apparent in the Xenomai patched kernels, where the increased IRQ latency causes the bug to be easier to trigger, but it happens with the "stock" non-xenomai patched kernels as well (typically when doing apt-get upgrade for those running Debian/Ubuntu). The fix is to back-port a commit from the 3.12 kernel tree:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7472bab236bdee1173412585591329e718f4d324

That commit fixes the race condition which results in corruption of the MMC controller's status flags that causes the hang.

RobertCNelson commented 10 years ago

Thanks for the ping.

Yeah, i missed this a couple weeks ago while traveling, I'll try to test/push it out..

RobertCNelson commented 10 years ago

Now we just need someone to update the meta-angstrom kernel layer.. ;)