Bug 691646 - xfs heavy random write workloads got blocked for more than 120 seconds
Summary: xfs heavy random write workloads got blocked for more than 120 seconds
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel
Version: 6.1
Hardware: x86_64
OS: Unspecified
unspecified
medium
Target Milestone: rc
: ---
Assignee: Red Hat Kernel Manager
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-03-29 06:16 UTC by Eryu Guan
Modified: 2011-03-30 03:40 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-03-30 03:40:50 UTC
Target Upstream Version:


Attachments (Terms of Use)
full blocked call trace (9.59 KB, text/plain)
2011-03-29 06:16 UTC, Eryu Guan
no flags Details
sysrq-w output (30.34 KB, text/plain)
2011-03-29 06:17 UTC, Eryu Guan
no flags Details
ffsb config file (316 bytes, text/plain)
2011-03-29 06:19 UTC, Eryu Guan
no flags Details

Description Eryu Guan 2011-03-29 06:16:06 UTC
Description of problem:
The random write workload generator (ffsb here) would get blocked for more than 120 seconds on xfs

Version-Release number of selected component (if applicable):
kernel-2.6.32-122.el6.x86_64

How reproducible:
About 10% or so

Steps to Reproduce:
1. Prepare a partition with 100+G free space
2. Run ffsb to generate random write workload(see attachment for ffsb config file)
3. Check dmesg for call trace
  
Actual results:
INFO: task ffsb:19705 blocked for more than 120 seconds.

I attached the full log, and the sysrq-w output

Expected results:
No blocked messages

Additional info:
Here is a beaker job
https://beaker.engineering.redhat.com/jobs/66287
http://beaker-archive.app.eng.bos.redhat.com/beaker-logs/2011/03/662/66287/135727/1476926/5890296///console_dmesg--kernel-filesystems-general-stress-ffsb-random_writes_threads_192.ffsb.log

Comment 1 Eryu Guan 2011-03-29 06:16:49 UTC
Created attachment 488332 [details]
full blocked call trace

Comment 2 Eryu Guan 2011-03-29 06:17:25 UTC
Created attachment 488333 [details]
sysrq-w output

Comment 3 Eryu Guan 2011-03-29 06:19:58 UTC
Created attachment 488334 [details]
ffsb config file

Modify the 'location' string, then run: ffsb random_writes_threads_192.ffsb
This requires ffsb-6.0-rc2

Comment 5 Dave Chinner 2011-03-30 01:10:02 UTC
So 192 threads doing random buffered writes all at the same time to 1024 files?
Sounds to me like you filled memory wih dirty pages and then discovered that writeback of random IO is really, really slow and that causes new writes to block for a long, long time. This doesn't look like a bug to me, just a case of overloading the IO subsystem by buffering tens of thousands of dirty pages and then wondering why everything grinds to a halt as we can only clean a few hundred pages/s....

Cheers,

Dave.

Comment 6 Eryu Guan 2011-03-30 03:40:50 UTC
(In reply to comment #5)
> So 192 threads doing random buffered writes all at the same time to 1024 files?
> Sounds to me like you filled memory wih dirty pages and then discovered that
> writeback of random IO is really, really slow and that causes new writes to
> block for a long, long time. This doesn't look like a bug to me, just a case of
> overloading the IO subsystem by buffering tens of thousands of dirty pages and
> then wondering why everything grinds to a halt as we can only clean a few
> hundred pages/s....
> 
> Cheers,
> 
> Dave.

Thanks for clarifying, I'm just not sure if it's a bug or not.

Close it as NOTABUG


Note You need to log in before you can comment on or make changes to this bug.