On Thu, 13 Nov 2008, Tejun Heo wrote:Yes, that kind of interface is nice for f_ops->poll, and for libfuse. But for the kernel interface it's inefficient. A wake up event is 3 context switches instead of one. And that's inherent in the interface itself for no good reason. Also there's again the question of userspace filesystem messing with the caller: your original implementation allows the userspace filesystem to block f_ops->poll() forever, which really isn't what poll/select is about. So I'd still argue for the simple POLL-request/POLL-notify protocol on the kernel API, and possibly have the async notification similar to the kernel interface on the library API. Implementation wise I don't care all that much, but I'd actually prefer if it was implemented using the traditional request/reply thing and optimized (possibly later) to find requests in a more efficient way than searching the linear list, which would benefit not just poll but all requests. Miklos --
| Heiko Carstens | Re: -mm merge plans for 2.6.23 -- sys_fallocate |
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Bart Van Assche | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| Badalian Vyacheslav | e1000: Question about polling |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
