linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/11] ext4: Bunch of DIO/AIO fixes V4
@ 2012-09-28 15:44 Dmitry Monakhov
  2012-09-28 15:44 ` [PATCH 01/11] ext4: ext4_inode_info diet Dmitry Monakhov
                   ` (10 more replies)
  0 siblings, 11 replies; 30+ messages in thread
From: Dmitry Monakhov @ 2012-09-28 15:44 UTC (permalink / raw)
  To: linux-ext4; +Cc: tytso, jack, lczerner, Dmitry Monakhov

There are number of races exist caused by lack of synchronization
between DIO/AIO workers and truncate/fsync/punch_hole routines
This patch series try to optimize and fix existing DIO/AIO code

I observe significant performance improvements for big SMP hosts.

Testcases which helps me to catch this type of bugs was posted here
http://www.spinics.net/lists/linux-fsdevel/msg58312.html
or available on my github repo:
https://github.com/dmonakhov/xfstests/tree/ce8e3adab629b2a9be8ba2e73db7dad49eb46614
plese run 286,287,288

TOC:
# first two are cleanups
ext4: ext4_inode_info diet
ext4: give i_aiodio_unwritten more appropriate name
# Bugfixes and improvements
ext4: fix unwritten counter leakage
ext4: completed_io locking cleanup V4
ext4: remove ext4_end_io()
ext4: serialize dio nonlocked reads with defrag workers V3
ext4: serialize unlocked dio reads with truncate
ext4: endless truncate due to nonlocked dio readers V2
ext4: serialize truncate with owerwrite DIO workers V2
# Nasty panch_hole regressions
ext4: punch_hole should wait for DIO writers V2
ext4: fix ext_remove_space for punch_hole case

Changes from V3:
	- satisfy ./checkpatch.pl rules
 	- Rework 'completed_io locking cleanup'
	- fix mistype in 'serialize dio nonlocked reads with defrag workers V3'
	- add extra inode's flag checks to 'punch_hole should wait for DIO'
Changes from V2:
	Fix use-after-free for queued end_io_work.

 fs/ext4/ext4.h        |   36 +++++++-
 fs/ext4/extents.c     |   92 ++++++++++++++--------
 fs/ext4/file.c        |    6 -
 fs/ext4/fsync.c       |   81 --------------------
 fs/ext4/indirect.c    |   18 +++-
 fs/ext4/inode.c       |   49 +++++-------
 fs/ext4/move_extent.c |    8 +
 fs/ext4/page-io.c     |  202 ++++++++++++++++++++++++++++++--------------------
 fs/ext4/super.c       |    3
 9 files changed, 262 insertions(+), 235 deletions(-)

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>

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

end of thread, other threads:[~2012-10-05  7:29 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-28 15:44 [PATCH 00/11] ext4: Bunch of DIO/AIO fixes V4 Dmitry Monakhov
2012-09-28 15:44 ` [PATCH 01/11] ext4: ext4_inode_info diet Dmitry Monakhov
2012-10-01 16:28   ` Jan Kara
2012-09-28 15:44 ` [PATCH 02/11] ext4: give i_aiodio_unwritten more appropriate name Dmitry Monakhov
2012-09-28 15:44 ` [PATCH 03/11] ext4: fix unwritten counter leakage Dmitry Monakhov
2012-10-01 16:37   ` Jan Kara
2012-09-28 15:44 ` [PATCH 04/11] ext4: completed_io locking cleanup V4 Dmitry Monakhov
2012-10-01 18:38   ` Jan Kara
2012-10-02  7:16     ` Dmitry Monakhov
2012-10-02 10:31       ` Jan Kara
2012-10-02 10:57         ` Dmitry Monakhov
2012-10-02 11:11           ` Jan Kara
2012-10-02 12:42             ` Dmitry Monakhov
2012-10-02 13:30               ` Jan Kara
2012-10-03 11:21                 ` Dmitry Monakhov
2012-10-04 10:22                   ` Jan Kara
2012-09-28 15:44 ` [PATCH 05/11] ext4: remove ext4_end_io() Dmitry Monakhov
2012-10-04 22:57   ` Anatol Pomozov
2012-10-05  4:28     ` Theodore Ts'o
2012-09-28 15:44 ` [PATCH 06/11] ext4: serialize dio nonlocked reads with defrag workers V3 Dmitry Monakhov
2012-10-01 16:39   ` Jan Kara
2012-09-28 15:44 ` [PATCH 07/11] ext4: serialize unlocked dio reads with truncate Dmitry Monakhov
2012-09-29  4:49   ` Theodore Ts'o
2012-09-29 11:43     ` Dmitry Monakhov
2012-09-28 15:44 ` [PATCH 08/11] ext4: endless truncate due to nonlocked dio readers V2 Dmitry Monakhov
2012-10-01 16:41   ` Jan Kara
2012-09-28 15:44 ` [PATCH 09/11] ext4: serialize truncate with owerwrite DIO workers V2 Dmitry Monakhov
2012-09-28 15:44 ` [PATCH 10/11] ext4: punch_hole should wait for DIO writers V2 Dmitry Monakhov
2012-10-01 16:46   ` Jan Kara
2012-09-28 15:44 ` [PATCH 11/11] ext4: fix ext_remove_space for punch_hole case Dmitry Monakhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).