Thread (5 messages) read the whole thread 5 messages, 3 authors, 2014-06-25

Re: Livelock when running xfstests generic/127 on ext4 with 3.15

From: Jan Kara <jack@suse.cz>
Date: 2014-06-25 14:44:37
Also in: linux-fsdevel

On Wed 25-06-14 10:17:56, Matthew Wilcox wrote:
On Wed, Jun 25, 2014 at 03:12:24PM +0200, Jan Kara wrote:
quoted
quoted
$ sudo cat /proc/4795/stack 
[<ffffffff8120bee9>] writeback_inodes_sb_nr+0xa9/0xe0
[<ffffffff8120bfae>] try_to_writeback_inodes_sb_nr+0x5e/0x80
[<ffffffff8120bff5>] try_to_writeback_inodes_sb+0x25/0x30
[<ffffffffa01bae2a>] ext4_nonda_switch+0x8a/0x90 [ext4]
[<ffffffffa01c49a5>] ext4_page_mkwrite+0x265/0x440 [ext4]
  Hum, apparently you are running out of space on the test partition. And
that is known to make ext4 extraordinarily slow...
Okay ... but why is it so much worse in 3.15 than 3.14?
  Is it really a difference between kernels? Didn't just the partition get
more full? If it is really just a kernel difference I don't have a good
explanation... Bisecting that down would be useful...
And does ext4 think of "running out of space" as a percentage
free, or an absolute number of blocks remaining?  From the code in
ext4_nonda_switch(), it seems to be the former, although maybe excessive
fragmentation has caused ext4 to think it's running out of space?
  We start forcing writeback (and waiting for it) when the amount of free
space is less than twice the amount of delayed-allocated blocks which are
not yet written out.

								Honza
quoted
quoted
My setup is a 1GB ram disk:

modprobe brd rd_size=1048576 rd_nr=2

local.config:

TEST_DEV=/dev/ram0
TEST_DIR=/mnt/ram0
SCRATCH_DEV=/dev/ram1
SCRATCH_MNT=/mnt/ram1


Hardware is an Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz with 4GB RAM,
in case it matters.  But I think what matters is that I'm running it on
a "tiny" 1GB filesystem, since this code is only invoked whenever the
number of dirty clusters is large relative to the number of free clusters.

df shows:
/dev/ram1         999320     1284    929224   1% /mnt/ram1
/dev/ram0         999320   646088    284420  70% /mnt/ram0

So it's not *unreasonably* full.
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Jan Kara [off-list ref]
SUSE Labs, CR
-- 
Jan Kara [off-list ref]
SUSE Labs, CR
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help