lkml.org 
[lkml]   [2013]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: BUG: scheduling while atomic 3.10.7 in ZRAM Swap
From
On Tue, Aug 20, 2013 at 9:51 AM, Mitch Harder
<mitch.harder@sabayonlinux.org> wrote:
> On Sun, Aug 18, 2013 at 11:44 PM, Minchan Kim <minchan@kernel.org> 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.


\
 
 \ /
  Last update: 2013-09-12 01:41    [W:0.052 / U:0.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site