linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* posix_fadvise/WILLNEED synchronous on fuse/sshfs instead of async?
@ 2009-11-11 15:19 Tobias Diedrich
  2009-11-11 15:43 ` Miklos Szeredi
  0 siblings, 1 reply; 2+ messages in thread
From: Tobias Diedrich @ 2009-11-11 15:19 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-mm

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 would have expected that fadvise is always asynchronous and I
could rely on the call to return almost immediately.

-- 
Tobias						PGP: http://8ef7ddba.uguu.de

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: posix_fadvise/WILLNEED synchronous on fuse/sshfs instead of async?
  2009-11-11 15:19 posix_fadvise/WILLNEED synchronous on fuse/sshfs instead of async? Tobias Diedrich
@ 2009-11-11 15:43 ` Miklos Szeredi
  0 siblings, 0 replies; 2+ messages in thread
From: Miklos Szeredi @ 2009-11-11 15:43 UTC (permalink / raw)
  To: Tobias Diedrich; +Cc: linux-kernel, linux-mm

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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-11-11 15:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-11 15:19 posix_fadvise/WILLNEED synchronous on fuse/sshfs instead of async? Tobias Diedrich
2009-11-11 15:43 ` Miklos Szeredi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox