Re: No SIGIO for fifos in the file system? (gpm vs. xfree86-4.0)

From: willy@thepuffingroup.com
Date: Wed Apr 26 2000 - 12:12:48 EST


On Tue, Apr 25, 2000 at 06:40:01PM +0200, Manfred Spraul wrote:
> I'll try to write a patch [but not this week]:
>
> fasync_helper() uses cli() for the synchronization, and I have some
> doubts that this is really SMP safe:

I'm not using fasync_helper(); the implementation of something remarkably
similar in net/socket.c doesn't use the cli-style locking (presumably
because it has really quite nasty locking requirements due to softnet).
I think for _those_ things, we should use a per-inode lock (i_sem could
perhaps be abused for this purpose).

> * it seems that the keyboard drivers use tasklets, and cli() doesn't
> stop tasklets.
> * someone might call kill_fasync() from process context, then cli() is
> not enough.
>
> fasync outside net should be fairly rare, I guess one global rwlock is
> sufficient.

I'm currently implementing kernel support for leases (windows people know
these as oplocks) and I use kill_fasync() to deliver a signal to inform
the task holding the lease that the lease is being broken. I'm also
going to use kill_fasync() for directory change notification (something
which helps both Samba and [favourite-desktop-here] file manager).
While leases being broken should be fairly rare too, directory change
notifications could happen many times a second.

I'm just preparing a code dump now before I go on holiday for almost 2
weeks, so I won't have the time to hack on this at all. I'll make it
available before I go.

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



This archive was generated by hypermail 2b29 : Sun Apr 30 2000 - 21:00:11 EST