[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <491BC87F.4050108@kernel.org>
Date: Thu, 13 Nov 2008 15:26:07 +0900
From: Tejun Heo <tj@...nel.org>
To: Miklos Szeredi <miklos@...redi.hu>
CC: fuse-devel@...ts.sourceforge.net, greg@...ah.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCHSET] FUSE: extend FUSE to support more operations
Hello, Miklos.
Miklos Szeredi wrote:
> 0006-FUSE-implement-unsolicited-notification.patch
> 0007-FUSE-implement-poll-support.patch
>
> This would be nice, but... I don't really like the fact that it uses
> the file handle. Could we have a separate "poll handle" that is
> returned in the POLL reply?
Eh... I replied too early for this. I'm now trying to convert it to its
own handle but there is a rather serious problem. It's usually much
easier to have the entity to be waken up registered before calling
->poll so that ->poll can use the same notification path from ->poll ans
for later.
However, if we allocate poll handle from ->poll and tell it to kernel
via reply, it creates two problem. 1. the entity which is to be waken
up can't be registered prior to calling ->poll as there's nothing to
identify it, 2. the interval from reply write and in-kernel polled
entity registration must be made atomic so that no notification can come
through inbetween. #1 means that ->poll can't call the same
notification path from ->poll itself and #2 means that there needs to be
special provision from dev.c::fuse_dev_write() to
file.c::fuse_file_poll() so that atomicity can be guaranteed. Both of
which can be done but I'm not really sure whether using a separate
handle would be a good idea even with the involved cost.
Why do you think using separate poll handle would be better? And do you
still think the overhead is justifiable?
Thanks.
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists