[opensuse-kernel] btrfs high IO waiting
Hi, kernel team, It drives me crazy everyday since 12.1 released. I carelessly formatted my root and home partition with btrfs system and migrate all my files. the root is formatted from un-formatted disk, so no revert or roll back can be done. It' quite a long story and I'll try to make it short. The case was : btrfs-transaction and btrfs-submit kept eating up my cpu io wait to 99.99%. Activities will surely cause the freeze: 1. open tabs and refresh web pages in any web browser. 2. open Dolphin and it refresh directories. 3. building packages. 4. any games. 5. open any window. mouse click. sudo something, refresh zypper will lag to some extent. And the longer you use your OS, the more frequent the lag will be, the longer time each lag will be. My Steps done to debug it: 1. I google-ed out a Xorg I/O solution by adjusting my Thinkpad T61 bios settings, turned down the "Security" - "Memory Protection" section. no luck. I even switched to QT raster for the elements draw work. no luck. 2. I suspected Firefox, for its sqlite database may cause lag, I switched to Chromium. but again Chromium is worse. Konqueror is faster at the first five minutes, then freeze. anyway, no luck. 3. I suspected 12.1 new Snapper, cause it by default snapshots your /tmp and /var/tmp, full of small files. I change the snapshot directory option empty, still no luck. 4. I tried to compile 3.2-rc7 by copying fs/btrfs directory from btrfs core developer's git into it, but the compile will fail at other parts. and I use 3.1.2's desktop and vanilla config extracted from its build service sources, still fails. So I think since btrfs-* process is built from fs/btrfs in kernel. maybe you guys have methods to debug it. because I'm a desktop user, I really lack the skills to do so. And I myself may be the only person who suffers from this problem, maybe because I love openSUSE so much that I use btrfs it recommends on a whole 1TB disk. If anything like commands need to be run from my desktop, gdb or something, but reply in detail how to and I'll ruin my life to generate outputs for you. Thank you very much for saving me. Marguerite References: 1. My fdisk and iotop info is here in this post: http://forums.opensuse.org/english/get-technical-help-here/hardware/470608-r... 2. This bug is reported by me, but no confirmation or useful answer from Novell people. https://bugzilla.novell.com/show_bug.cgi?id=734518 3. This post initialed by Bartu5 has some replies by me: http://forums.opensuse.org/english/get-technical-help-here/hardware/468287-t... 4. This post by me in Chinese but with short English summary in later replies: http://forums.opensuse.org/forums/ae-ae-chinese/aes-aeoe-e-e-ae-zae-aeoe/c-a... 5. This mailing list posts may help, but I can't understand what they're talking about, it requires too many professional IT skills from me. http://www.spinics.net/lists/ceph-devel/msg03759.html -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
Marguerite Su wrote:
The case was : btrfs-transaction and btrfs-submit kept eating up my cpu io wait to 99.99%.
3. I suspected 12.1 new Snapper, cause it by default snapshots your /tmp and /var/tmp, full of small files. I change the snapshot directory option empty, still no luck.
I'm a bit confused Marguerite. In your bug report, comment 4, you said: "even switch the snapper config to my home directory lags too, because there are directories like chromium profiles and mozilla profiles in it. so I just leave the "SUBVOLUME" blank. this time is amazing fast." That makes it sounds like you have a workaround but your point 3 above makes it sound like you don't have a workaround. Which is it?
4. I tried to compile 3.2-rc7 by copying fs/btrfs directory from btrfs core developer's git into it, but the compile will fail at other parts. and I use 3.1.2's desktop and vanilla config extracted from its build service sources, still fails.
I gather from a later forum posting you made that you have now successfully compiled 3.2-rc7 and that it appears to fix the problem when you replace fs/btrfs with fs/btrfs from Btrfs filesystem's core developer Mason's git repository. Which would confirm a btrfs bug. Is that correct? Cheers, Dave -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
participants (2)
-
Dave Howorth
-
Marguerite Su