lkml.org 
[lkml]   [2009]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: posix_fadvise/WILLNEED synchronous on fuse/sshfs instead of async?
From
Date
On Wed, 11 Nov 2009, Tobias Diedrich wrote:
> While trying to use posix_fadvise(...POSIX_FADVISE_WILLNEED) to
> implement userspace read-ahead (with a bigger read-ahead window than
> the kernel default) I found that if the underlying filesystem is
> fuse/sshfs posix_fadvise is no longer doing asynchronous reads:
>
> strace -tt with mnt/testfile on sshfs and server with very slow
> upstream (ADSL):
> 5345 00:00:17.334209 open("mnt/testfile", O_RDONLY|O_LARGEFILE) = 3
> 5345 00:00:18.011383 _llseek(3, 0, [3544379], SEEK_END) = 0
> 5345 00:00:18.011626 _llseek(3, 0, [0], SEEK_SET) = 0
> 5345 00:00:18.012393 fadvise64_64(3, 0, 1048576, POSIX_FADV_WILLNEED) = 0
> 5345 00:01:02.438097 write(1, "[file] File size is 3544379 byte"..., 34) = 34
>
> Note that fadvise takes 40 seconds...
> Is this expected behaviour?

I think this is because fuse limits the number of outstanding
requests.

In 2.6.31 you can raise these limits in

/sys/fs/fuse/connections/N/congestion_threshold
/sys/fs/fuse/connections/N/max_background

Thanks,
Miklos


\
 
 \ /
  Last update: 2009-11-11 16:45    [W:0.032 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site