Miklos Szeredi wrote:
Yeap, spurious notifications don't cause any problems.
>> but we still need POLL-reply (to request) to
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
--
| Greg Kroah-Hartman | [PATCH 002/196] Chinese: rephrase English introduction in HOWTO |
| Kok, Auke | Re: Linux 2.6.21-rc1 |
| Greg KH | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Jeff Garzik | Re: [Patch v2] Make PCI extended config space (MMCONFIG) a driver opt-in |
git: | |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Eric Dumazet | [PATCH] net: remove superfluous call to synchronize_net() |
