lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110603002714.GA27129@redhat.com>
Date:	Thu, 2 Jun 2011 20:27:14 -0400
From:	Vivek Goyal <vgoyal@...hat.com>
To:	Dave Chinner <david@...morbit.com>
Cc:	linux-ext4@...r.kernel.org
Subject: Re: Query about DIO/AIO WRITE throttling and ext4 serialization

On Fri, Jun 03, 2011 at 09:51:53AM +1000, Dave Chinner wrote:

[..]
> > > Dave,
> > > 
> > > I did a quick test of throttling a direct IO on one file and then
> > > doing "truncate -s 40 testfile" on a different file in different
> > > cgroup and it seems to work fine.
> > > 
> > > But I seem to be having issues with "sync". Looks like in ext4, if
> > > I throttle a DIO, sync does not hang but in XFS it does. I am 
> > > wondering if XFS is waiting for all inflight DIO to finish before
> > > sync completes.
> > 
> > "sync" on XFS seems to be livelocking as long as DIO write operation
> > is going on and same does not happen on ext4.
> > 
> > I ran "aio-stress -O aiofile1 -s 4G" and in other window I did "sync"
> > and it does not finish untile and unless aio-stress has finished.
> > On the other hand ext4 seems to be fine and it does finish earlier.
> 
> On XFS sync waits for the IO count on each inode to return to zero
> before continuing.  If you are blasting concurrent AIO/DIO at a
> file, then it is possible that the IO count never falls to zero.
> It's questionable whether this is necessary, but ISTR that the
> current behaviour has been there for a long time (though morphed
> about a bit in implementation).

In this case only a single thread is doing IO continuously. I am assuming
if there is a database using XFS, it is not unreasonable to have prolonged
periods of continuous IO activity. In that case I think by above design
sync will not finish until and unless there is a momentary pause in IO. This
does not sound like the best design choice.

Thanks
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ