All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10, v2] repair: scalability and prefetch fixes
@ 2014-02-24  6:29 Dave Chinner
  2014-02-24  6:29 ` [PATCH 01/10] repair: translation lookups limit scalability Dave Chinner
                   ` (9 more replies)
  0 siblings, 10 replies; 29+ messages in thread
From: Dave Chinner @ 2014-02-24  6:29 UTC (permalink / raw)
  To: xfs

Hi folks,

This is a followup to the patchset posted here:

http://oss.sgi.com/archives/xfs/2013-12/msg00495.html

I've made various changes to address the review comments, and
droped the parallelisation of phase 6 after I realised that is was
causing occasional problem in pahse 6 (i.e. the simple patch didn't
make it entirely threadsafe).

There are various other prefetching fixes added to the series as
well that help with scalability - mainly to do with reworking the
way prefetching runs ahead of the processing threads. This allowed
unbound prefetching when the number of inode chunks was less than
the queue depth (typically 16384 inode chunks or 65536 inode cluster
buffers on 512 byte inode filesystems). This was causing the
prefetching to blow out the caches and result in all metadata being
read twice - once for the readhead, then again when it was actually
necessary.

The prefetching was changed to only readahead the AG following the
current one being processed, hence preventing thrashing and an awful
lot of unnecessary IO and buffer cache churn.

I'm not seeing any problems with this series, and performance on CRC
filesystems is now on a par with non-CRC filesystems so there are no
more known xfs_repair performance issues to be addressed with CRC
enabled filesytems after this patch set is applied.

Comments, review, flames and testing welcome!

Cheers,

Dave.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2014-02-27  2:06 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-24  6:29 [PATCH 00/10, v2] repair: scalability and prefetch fixes Dave Chinner
2014-02-24  6:29 ` [PATCH 01/10] repair: translation lookups limit scalability Dave Chinner
2014-02-24 20:42   ` Brian Foster
2014-02-25 20:01   ` Christoph Hellwig
2014-02-24  6:29 ` [PATCH 02/10] repair: per AG locks contend for cachelines Dave Chinner
2014-02-24  6:29 ` [PATCH 03/10] libxfs: buffer cache hashing is suboptimal Dave Chinner
2014-02-24  6:29 ` [PATCH 04/10] repair: limit auto-striding concurrency apprpriately Dave Chinner
2014-02-24  6:29 ` [PATCH 05/10] repair: factor out threading setup code Dave Chinner
2014-02-24 20:43   ` Brian Foster
2014-02-24 23:16     ` Dave Chinner
2014-02-24 23:30       ` Brian Foster
2014-02-24  6:29 ` [PATCH 06/10] repair: use a listhead for the dotdot list Dave Chinner
2014-02-25 20:03   ` Christoph Hellwig
2014-02-27  2:06     ` Dave Chinner
2014-02-24  6:29 ` [PATCH 07/10] repair: prefetch runs too far ahead Dave Chinner
2014-02-26  1:52   ` Christoph Hellwig
2014-02-26  5:51     ` Dave Chinner
2014-02-24  6:29 ` [PATCH 08/10] libxfs: remove a couple of locks Dave Chinner
2014-02-25 20:05   ` Christoph Hellwig
2014-02-25 23:43     ` Dave Chinner
2014-02-26  1:54       ` Christoph Hellwig
2014-02-26  5:53         ` Dave Chinner
2014-02-24  6:29 ` [PATCH 09/10] repair: fix prefetch queue limiting Dave Chinner
2014-02-25 20:08   ` Christoph Hellwig
2014-02-24  6:29 ` [PATCH 10/10] repair: BMBT prefetch needs to be CRC aware Dave Chinner
2014-02-25 17:25   ` Christoph Hellwig
2014-02-25 23:51     ` Dave Chinner
2014-02-26  1:40       ` Christoph Hellwig
2014-02-26  1:44   ` Christoph Hellwig

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.