Re: [PATCH block/for-3.3/core] block: an exiting task should be allowed to create io_context
From: Tejun Heo <tj@kernel.org>
Date: 2012-01-03 17:35:10
Also in:
linux-next, linux-scsi, lkml
From: Tejun Heo <tj@kernel.org>
Date: 2012-01-03 17:35:10
Also in:
linux-next, linux-scsi, lkml
Happy new year, guys. On Wed, Dec 28, 2011 at 01:19:18PM -0800, Tejun Heo wrote:
quoted
On Wed, Dec 28, 2011 at 9:50 AM, Hugh Dickins [off-list ref] wrote:quoted
"It's the tmpfs swapping test that I've been running, with variations, for years. System booted with mem=700M and 1.5G swap, two repetitious make -j20 kernel builds (of a 2.6.24 kernel: I stuck with that because the balance of built to unbuilt source grows smaller with later kernels), one directly in a tmpfs, the other in a 1k-block ext2 (that I drive with ext4's CONFIG_EXT4_USE_FOR_EXT23) on /dev/loop0 on a 450MB tmpfs file." I doubt much of that (quoted from an older mail to someone else about one of the many other bugs it's found) is relevant: maybe just plenty of file I/O and swapping.Plain -j4 build isn't triggering anything. I'll try to replicate the condition.It's not too reliable but I can reproduce it with -j 22 allmodconfig build inside qemu w/ 512M of memory. I'll try to find out what's going on.
I misread the code, the problem is empty cfqq on the cfq prio tree. I don't think this is caused by recent io_context changes. It looks like somebody is forgetting to remove cfqq from the dispatch prio tree after emptying a cfqq by removing a request from it. Jens, any ideas? Thanks. -- tejun