Thread (52 messages) 52 messages, 11 authors, 2010-10-19

Re: [RFC v3] ext4: Combine barrier requests coming from fsync

From: Tejun Heo <tj@kernel.org>
Date: 2010-08-19 09:21:49
Also in: lkml

Hello,

On 08/19/2010 10:53 AM, Christoph Hellwig wrote:
On Wed, Aug 18, 2010 at 07:07:34PM -0700, Darrick J. Wong wrote:
quoted
Oddly, I ran the entire suite of tests against a larger set of machines, and
with Tejun's RFC patchset I didn't see nearly as much of an improvement.  I
have been trying to put together a new tree based on "replace barrier with
sequenced flush" and Christoph's "explicitly flush/FUA" patch sets, though I've
gotten lost in the weeds. :(
Tejun's patches don't allow concurrent cache flushes to happen, while
my patch did.  Tejun said there are drivers that can't handly empty
flushes with a bio attached, making this nessecary.   

Tejun, any idea what drivers that would be?
What was the configuration?  If dm was involved, both md and dm can
only process single flush request at a time.  Supporing multiple
flushes in flight wouldn't be too difficult.  It's just the way things
are implemented with the previous barrier implementation.  It can
definitely be improved.
quoted
I also experienced some sort of crash with Tejun's relaxed barrier
patch on one of my systems.  I was hitting the BUG_ON in
drivers/scsi/scsi_lib.c, line 1115.
My kernel source doesn't have a BUG_ON line there, but only one two
lines above.  A req->nr_phys_segments that's zero sounds a bit like
empty flush requests, I'll need to look into it again.
Yeah, definitely sounds like REQ_FS|REQ_FLUSH request causing problem.
Can you post the kernel log?

Thanks.

-- 
tejun
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help