On Tue, Aug 20, 2013 at 9:51 AM, Mitch Harder <mitch.harder@xxxxxxxxxxxxxxxx> wrote: > On Sun, Aug 18, 2013 at 11:44 PM, Minchan Kim <minchan@xxxxxxxxxx> wrote: >> Hello, >> >> On Mon, Aug 19, 2013 at 12:13:02PM +0800, Michael wang wrote: >>> Hi, Mitch >>> >>> On 08/17/2013 10:01 PM, Mitch Harder wrote: >>> > I'm encountering a BUG while using a ZRAM Swap device. >>> > >>> > The call trace seems to involve the changes recently added to 3.10.6 >>> > by the patch: >>> > zram: use zram->lock to protect zram_free_page() in swap free notify path >>> > >>> > The hardware is a x86 single CPU AMD Athlon XP system with 1GB RAM. >>> > >>> > I'm implementing a 352MB ZRAM swap device, and also have 1GB swap >>> > space on the hard disk. >>> >>> IMHO, it was caused by that swap_entry_free() was invoked with page >>> spin-locked, thus zram_slot_free_notify() should not use rw-lock which >>> may goto sleep. >>> >>> CC folks related. >> >> Thanks for Ccing me, Michael, >> >> Mitch, It's known problem and it should be fixed by [1] in recent linux-next. >> >> [1] a0c516cbfc, zram: don't grab mutex in zram_slot_free_noity >> >> Thanks for the report! >> > > Thanks. > > If I apply the zram patches from linux-next, the problem seems to be resolved. Is it planned to send the patch: "zram: don't grab mutex in zram_slot_free_noity" to stable? I noticed that 3.10.11 still doesn't have this patch. Right now, I'm manually applying 4 zram patches to my 3.10.11 kernel (although I had to rework them to apply cleanly): zram: Add auto loading of module if user opens /dev/zram. zram: prevent data loss in error cases of function zram_bvec_write() zram: fix invalid memory access zram: don't grab mutex in zram_slot_free_noity I knew I'd get errors if I didn't rework the "zram: Add auto loading of module if user opens /dev/zram" patch to apply to 3.10. The other three patches seemed to address important issues also, based on their git commit description. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel