Re: [PATCHSET] FUSE: extend FUSE to support more operations

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Miklos Szeredi <miklos@...>
Cc: <fuse-devel@...>, <greg@...>, <linux-kernel@...>
Date: Thursday, November 13, 2008 - 10:29 am

Miklos Szeredi wrote:

Yeap, spurious notifications don't cause any problems.


poll/select/epoll can poll on massive number of files.  I don't think
it's wise to have that many outstanding requests.  FUSE currently uses
linear list to match replies to requests and libfuse will consume one
thread per each poll if implemented like other requests.  It can be made
asynchronous from libfuse tho.

I kind of like the original implementation tho.  The f_ops->poll
interface is designed to be used like ->poll returning events if
available immediately and queue for later notification as necessary.
Notification is asynchronous and can be spurious (this actually comes
pretty handy for low level implementation).  When notified, upper layer
queries the same way using ->poll.  This is quite convenient for low
level implementation as the actual logic of poll can live in ->poll
proper while notifications can be scattered around places where events
can occur.

Thanks.

-- 
tejun
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCHSET] FUSE: extend FUSE to support more operations, Tejun Heo, (Thu Nov 13, 10:29 am)
Re: [PATCHSET] FUSE: extend FUSE to support more operations, Miklos Szeredi, (Thu Nov 13, 10:48 am)
Re: [PATCHSET] FUSE: extend FUSE to support more operations, Miklos Szeredi, (Thu Nov 13, 11:52 am)
Re: [PATCHSET] FUSE: extend FUSE to support more operations, Christoph Hellwig, (Wed Nov 12, 5:14 am)
Re: [fuse-devel] [PATCHSET] FUSE: extend FUSE to support mor..., Szabolcs Szakacsits, (Tue Oct 14, 8:16 am)
[PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Thu Aug 28, 1:41 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, H. Peter Anvin, (Thu Aug 28, 2:20 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Thu Aug 28, 2:28 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, H. Peter Anvin, (Thu Aug 28, 3:08 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Miklos Szeredi, (Thu Aug 28, 3:18 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, H. Peter Anvin, (Thu Aug 28, 4:21 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Miklos Szeredi, (Thu Aug 28, 4:55 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, H. Peter Anvin, (Thu Aug 28, 5:27 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Miklos Szeredi, (Fri Aug 29, 3:32 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Greg KH, (Thu Aug 28, 1:51 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Thu Aug 28, 1:59 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Thu Aug 28, 2:02 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Greg KH, (Thu Aug 28, 2:14 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Thu Aug 28, 2:25 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Thu Aug 28, 2:01 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Miklos Szeredi, (Thu Aug 28, 2:13 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Thu Aug 28, 2:17 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Miklos Szeredi, (Thu Aug 28, 2:23 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Thu Aug 28, 2:34 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Alan Cox, (Thu Aug 28, 4:48 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Miklos Szeredi, (Thu Aug 28, 3:25 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Thu Aug 28, 3:42 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Miklos Szeredi, (Thu Aug 28, 4:02 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Thu Aug 28, 10:19 pm)
Re: [fuse-devel] [PATCH 5/7] FUSE: implement ioctl support, Roger Willcocks, (Fri Aug 29, 7:31 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Miklos Szeredi, (Fri Aug 29, 3:59 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Fri Aug 29, 4:12 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Miklos Szeredi, (Fri Aug 29, 4:29 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Fri Aug 29, 5:03 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Eric W. Biederman, (Fri Aug 29, 3:17 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Miklos Szeredi, (Mon Sep 1, 7:57 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Mon Sep 1, 8:03 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Eric W. Biederman, (Wed Sep 3, 10:32 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Wed Sep 3, 10:40 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Eric W. Biederman, (Wed Sep 3, 5:51 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Wed Sep 3, 8:09 pm)
Re: [PATCH 5/7] FUSE: implement ioctl support, Tejun Heo, (Sat Aug 30, 7:40 am)
Re: [PATCH 5/7] FUSE: implement ioctl support, Arnd Bergmann, (Fri Aug 29, 3:47 pm)
[PATCH 7/7] FUSE: implement poll support, Tejun Heo, (Thu Aug 28, 1:41 pm)
[PATCH 4/7] FUSE: implement direct lseek support, Tejun Heo, (Thu Aug 28, 1:41 pm)
[PATCH 1/7] FUSE: add include protectors, Tejun Heo, (Thu Aug 28, 1:40 pm)
[PATCH 3/7] FUSE: implement nonseekable open, Tejun Heo, (Thu Aug 28, 1:40 pm)
[PATCH 2/7] FUSE: pass nonblock flag to client, Tejun Heo, (Thu Aug 28, 1:40 pm)