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]
Date:	Fri, 3 Apr 2009 11:24:50 -0700 (PDT)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	"Theodore Ts'o" <tytso@....edu>, Jens Axboe <jens.axboe@...cle.com>
cc:	Linux Kernel Developers List <linux-kernel@...r.kernel.org>,
	Ext4 Developers List <linux-ext4@...r.kernel.org>
Subject: Re: [GIT PULL] Ext3 latency fixes



On Fri, 3 Apr 2009, Theodore Ts'o wrote:
> 
> Please pull from:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git ext3-latency-fixes

Thanks, pulled. I'll be interested to see how it feels. Will report back 
after I've rebuild and gone through a few more emails.

One thing I started wondering about in your changes to start using 
WRITE_SYNC is that I'm getting closer to thinking that we did the whole 
WRITE-vs-WRITE_SYNC thing the wrong way around.

Now, it's clearly true that non-synchronous writes are hopefully always 
the common case, so in that sense it makes sense to think of "WRITE" as 
the default non-critical case, and then make the (fewer) WRITE_SYNC cases 
be the special case.

But at the same time, I now suspect that we could actually have solved 
this problem more easily by just doing things the other way around: make 
the default "WRITE" be the high-priority one (to match "READ"), and then 
just explicitly marking the data writes with "WRITE_ASYNC".

Why? Because I think that with all the writes sprinkled around in random 
places, it's probably _easier_ to find the bulk writes that cause the 
biggest issues, and just fix _those_ to be WRITE_ASYNC. They may be bulk, 
they may be the common case, but they also tend to be the case where we 
write with generic routines (eg the whole "do_writepages()" thing).

So the VFS layer tends to already do much of the bulk writeout, and maybe 
we would have been better off just changing those to ASYNC and leaving any 
more specialized cases as the SYNC case? That would have avoided a lot of 
this effort at the filesystem level. We'd just assume that the default 
filesystem-specific writes tend to all be SYNC.

Comments?

		Linus
--
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