From: Eric Sandeen <sandeen@sandeen.net>
To: Juergen Urban <JuergenUrban@gmx.de>
Cc: xfs@oss.sgi.com
Subject: Re: BUG() in end_page_writeback(), stack overflows and system speed decrease with XFS over USB
Date: Thu, 19 Nov 2009 12:00:16 -0600 [thread overview]
Message-ID: <4B0587B0.3020702@sandeen.net> (raw)
In-Reply-To: <200911190957.45957.JuergenUrban@gmx.de>
Juergen Urban wrote:
> Hello,
>
> my machine is running very unstable since I use XFS on an external USB
> harddisc (855 GByte XFS partition on 1TByte). One problem was the stack
> overflows caused by the large stack use of XFS, USB, SCSI and VFS in Linux
> 2.6.23.13. NFS on XFS caused much more stack overflows. I think I got around
> the stack overflows by disabling preemption, SMP and NFS in Linux, but I am not
> sure about it. I think that I didn't got a message from the stack overflow
> detection after this.
Are you on 4k stacks? To be honest I'd still expect things to be mostly
ok stack-wise even if so.
> I also tried a Live-CD (KNOPPIX), but there are the same
> problems. I exchanged some of the hardware. XFS is decreasing system
> performance. I use the Linux VDR with DVB-S which seems to increase the
> problems. I was able to record 3 high bandwidth streams in parallel before
> using XFS.
Really, you could record 3 parallel high-def TV streams to ext3 via USB?
I guess I'm a little surprised...
> Now it has problems to record one high bandwidth stream. The
> system got a little bit usable after I changed the IO scheduler to deadline.
> It is difficult to get a good backtrace of the kernel crash, because the backlog
> is not saved on the internal harddisc (reiserfs and ext3). I was able to find
> out that XFS triggers a BUG() in end_page_writeback() at mm/filemap.c:552:
>
> void end_page_writeback(struct page *page)
> {
> if (!TestClearPageReclaim(page) || rotate_reclaimable_page(page)) {
> if (!test_clear_page_writeback(page))
> BUG();
> }
> smp_mb__after_clear_bit();
> wake_up_page(page, PG_writeback);
> }
Regarding the bug, if there is any way to test a kernel newer than .23,
I'd start there; I don't know offhand of a bug that was fixed here, but
.23 was a long time ago...
> The backtrace looks like this (Sorry, I needed to write it down from screen
> and I don't have everything):
>
> end_page_writeback()
> end_buffer_async_write()
> update_stats_wait_end()
> xfs_setfilesize()
> xfs_???_dealloc()
> xfs_destroy_ioend()
> run_workqueue()
>
> After searching in the code I found:
> /* TODO: cleanup count and page_dirty */
>
> It seems that page_dirty may be handled wrong and could cause the problem, but
> I don't know the purpose of this stuff. The same comment is in the latest
> source code from GIT.
> After running the system for while, I was able to trigger the kernel crash by
> starting "sync" in the command line.
> My stack traces includes often dvb_dmx_swfilter_packets(), do_IRQ()/tasklets
> and sys_write()/vfs_write(). I can't scroll up in most situations.
> Can anyone help me?
> Is there an easy way to backup the data or replace the file system without
> kernel crash in between?
You should certainly be able to copy data off xfs via usb; if it's
failing, I guess we'll need more info to find out why, but I'd suggest
at least booting a newer livecd to do that copy and see if things fare
better.
-Eric
> Best regards
> Juergen Urban
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2009-11-19 17:59 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-19 8:57 BUG() in end_page_writeback(), stack overflows and system speed decrease with XFS over USB Juergen Urban
2009-11-19 18:00 ` Eric Sandeen [this message]
2009-11-20 16:23 ` Juergen Urban
2009-11-20 16:36 ` Eric Sandeen
2009-11-20 17:08 ` Eric Sandeen
2009-11-21 1:00 ` Juergen Urban
2009-11-21 10:51 ` Michael Monnerie
2009-11-21 17:33 ` Juergen Urban
2009-11-21 22:04 ` Dave Chinner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B0587B0.3020702@sandeen.net \
--to=sandeen@sandeen.net \
--cc=JuergenUrban@gmx.de \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox