Re: [RFC,PATCH] use rcu for fasync_lock

From: Manfred Spraul
Date: Sun Dec 21 2003 - 07:42:03 EST


Jamie Lokier wrote:

Manfred Spraul wrote:


What about switching to rcu?



What about killing fasync_helper altogether and using the method that
epoll uses to register "listeners" which send a signal when the poll
state of a device changes?

I think it would be a step in the wrong direction: poll should go away from a simple wake-up to an interface that transfers the band info (POLL_IN, POLL_OUT, etc). Right now at least two passes over the f_poll functions are necessary, because the info which event actually triggered is lost. kill_fasync transfers the band info, thus I don't want to remove it.


That would trim off code all over the place, make the fast paths a
little bit faster (in the case that there aren't any listeners), and
most importantly make SIGIO reliable for every kind of file descriptor,
instead of the pot luck you get now.

Just an idea :)

It's a good idea, but requires lots of changes - perhaps it will be necessary to change the pollwait and f_poll prototypes.

--
Manfred

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/