On Mon, Oct 17, 2016 at 02:13:12PM +0200, Christoph Hellwig wrote: > XFS historically took the iolock exclusive when invalidating pages > before direct I/O operations to protect against writeback starvations. > > But this writeback starvation issues has been fixed a long time ago > in the core writeback code, and all other file systems manage to do > without the exclusive lock. Convert XFS over to avoid the exclusive > lock in this case, and also move to range invalidations like done > by the other file systems. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > fs/xfs/xfs_file.c | 98 +++++++++++++++++-------------------------------------- > 1 file changed, 30 insertions(+), 68 deletions(-) > > > /* > * If we are doing unaligned IO, wait for all other IO to drain, > - * otherwise demote the lock if we had to flush cached pages > + * otherwise demote the lock if we had to take the exclusive lock > + * for other reaosons in xfs_file_aio_write_checks. ^ reasons > */ > if (unaligned_io) > inode_dio_wait(inode); > -- > 2.1.4 Despite typo above, it looks good to me. Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Carlos -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html