Hello Neil,

Thursday, August 10, 2006, 7:02:58 PM, you wrote:

NP> Robert Milkowski wrote:
>> Hello Matthew,
>> 
>> Thursday, August 10, 2006, 6:55:41 PM, you wrote:
>> 
>> MA> On Thu, Aug 10, 2006 at 06:50:45PM +0200, Robert Milkowski wrote:
>> 
>>>>btw: wouldn't it be possible to write block only once (for synchronous
>>>>IO) and than just point to that block instead of copying it again?
>> 
>> 
>> MA> We actually do exactly that for larger (>32k) blocks.
>> 
>> Why such limit (32k)?

NP> By experimentation that was the cutoff where it was found to be
NP> more efficient. It was recently reduced from 64K with a more
NP> efficient dmu-sync() implementaion.
NP> Feel free to experiment with the dynamically changable tunable:

NP> ssize_t zfs_immediate_write_sz = 32768;


I've just checked using dtrace on one of production nfs servers that
90% of the time arg5 in zfs_log_write() is exactly 32768 and the rest
is always smaller.

With default 32768 value of 32768 it means that for NFS servers it
will always copy data as I've just checked in the code and there is:

245     if (len > zfs_immediate_write_sz) {

So in nfs server case above never will be true (with default nfs srv
settings).

Wouldn't nfs server benefit from lowering zfs_immediate_write_sz to
32767?


ps. and I checked in a source - changind zfs_immediate_write_sz should
have immediate effect

-- 
Best regards,
 Robert                            mailto:[EMAIL PROTECTED]
                                       http://milek.blogspot.com

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to