Fw: Re: Implemented OPLOCK for FreeBsd
Jonathan Lemon
jlemon at flugsvamp.com
Fri Sep 7 20:03:34 GMT 2001
On Fri, Sep 07, 2001 at 05:57:40PM -0700, Jeremy Allison wrote:
> On Fri, Sep 07, 2001 at 07:57:39PM -0500, Jonathan Lemon wrote:
> > On Fri, Sep 07, 2001 at 05:26:47PM -0700, Jeremy Allison wrote:
> > > then that's one answer, but to implement it "your way" (with
> > > some ill-defined internal queueing limit) vs. a defined
> >
> > I'll direct you to my USENIX paper for this one. There are _NO_
> > internal queueing limits, so there is nothing to bite you. Any
> > failures are handled at allocation time when registering a new
> > event, and reported to the application.
>
> Well then doesn't that mean you could implement the POSIX.4
> realtime signal queues on top of kqueues, and return -1 for
> the max signal queue sysconf request ?
Yes, probably. The difficulty is that when you register an event
(fd), you need to specify what kqueue the event will be returned on.
There is no single 'queue' per application, as per siginfo. This
means I need something like:
fcntl(fd, WRITE_LEASE, kq)
since fcntl is restricted to 3 arguments. This is the largest part
of the problem that I see. kqueue can co-exist with signals, so if
at some point you wanted event delivery to occur via siginfo instead
of kevent(), that could be toggled with the sigaction() call.
> BTW: Can you give me the URL for the paper ?
http://www.flugsvamp.com/~jlemon/fbsd/kqueue_usenix2001.pdf
--
Jonathan
More information about the samba-technical
mailing list