Re: [PATCH v10 00/62] Convert page cache to XArray

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/29/2018 08:41 PM, Matthew Wilcox wrote:
> From: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>
> 
> I'd like to thank Andrew for taking the first eight XArray patches
> into -next.  He's understandably nervous about taking the rest of the
> patches into -next given how few of the remaining patches have review
> tags on them.  So ... if you're on the cc, I'd really appreciate a review
> on something that you feel somewhat responsible for, eg the particular
> filesystem (nilfs, f2fs, lustre) that I've touched, or something in the
> mm/ or fs/ directories that you've worked on recently.
> 
> This is against next-20180329.
> 

I applied this series to next-20180329 and booted in a debug environment.
My root fs is ext4, and next-20180329 had the first (bad) fix in bug
https://bugzilla.kernel.org/show_bug.cgi?id=199185
so, I had to apply the revised fix.

Running with this XArray series on top of next-20180329 consistently 'hangs'
on shutdown looping (?forever?) in tag_pages_for_writeback/xas_for_each_tag.
All I have to do is make sure there is some activity on the ext4 fs before
shutdown.  Not sure if this is a 'next-20180329' issue or XArray issue.
But the fact that we are looping in xas_for_each_tag looks suspicious.

#0  xas_find_chunk (tag=<optimized out>, advance=<optimized out>, 
    xas=<optimized out>) at ./include/linux/xarray.h:886
#1  xas_next_tag (tag=<optimized out>, max=<optimized out>, 
    xas=<optimized out>) at ./include/linux/xarray.h:915
#2  tag_pages_for_writeback (mapping=<optimized out>, start=<optimized out>, 
    end=2251799813685247) at mm/page-writeback.c:2109
#3  0xffffffff812eccf0 in ext4_writepages (mapping=0xffff88012bf9b918, 
    wbc=<optimized out>) at fs/ext4/inode.c:2793
#4  0xffffffff811bbe4b in do_writepages (mapping=0xffffc90001727a28, 
    wbc=0xffffffffffffffff) at mm/page-writeback.c:2332
#5  0xffffffff812743bd in __writeback_single_inode (inode=0xffffc90001727a28, 
    wbc=0xffffc90001727cc0) at fs/fs-writeback.c:1315
#6  0xffffffff81274aaf in writeback_sb_inodes (sb=0xffff88012e2e2e98, 
    wb=0xffff88012c02e000, work=0xffff88012c4aae18) at fs/fs-writeback.c:1579
#7  0xffffffff81274ff7 in wb_writeback (wb=0xffff88012c02e000, 
    work=0xffff88012c4aae18) at fs/fs-writeback.c:1755
#8  0xffffffff812757df in wb_do_writeback (wb=<optimized out>)
    at fs/fs-writeback.c:1900
#9  wb_workfn (work=0xffffc90001727a28) at fs/fs-writeback.c:1941
#10 0xffffffff810b7415 in process_one_work (worker=0xffff88012eff6d68, 
    work=0xffff88012c02e190) at kernel/workqueue.c:2145
#11 0xffffffff810b762e in worker_thread (__worker=0xffff88012eff6d68)
    at kernel/workqueue.c:2279
#12 0xffffffff810bd7c3 in kthread (_create=0xffff88012e88fc28)
    at kernel/kthread.c:238
#13 0xffffffff81a00205 in ret_from_fork () at arch/x86/entry/entry_64.S:411
#14 0x0000000000000000 in ?? ()

-- 
Mike Kravetz




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux